diff options
Diffstat (limited to 'bukkit/src/packet/BlockChangePacket.kt')
| -rw-r--r-- | bukkit/src/packet/BlockChangePacket.kt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bukkit/src/packet/BlockChangePacket.kt b/bukkit/src/packet/BlockChangePacket.kt new file mode 100644 index 0000000..7d11f4e --- /dev/null +++ b/bukkit/src/packet/BlockChangePacket.kt @@ -0,0 +1,20 @@ +package cat.freya.khs.bukkit.packet + +import com.github.retrooper.packetevents.PacketEvents +import com.github.retrooper.packetevents.util.Vector3i +import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerBlockChange +import io.github.retrooper.packetevents.util.SpigotConversionUtil +import org.bukkit.Bukkit +import org.bukkit.Location +import org.bukkit.Material +import org.bukkit.entity.Player as BukkitPlayer + +data class BlockChangePacket(val location: Location, val material: Material) { + fun send(player: BukkitPlayer) { + val blockData = Bukkit.createBlockData(material) + val state = SpigotConversionUtil.fromBukkitBlockData(blockData) + val vector = Vector3i(location.blockX, location.blockY, location.blockZ) + val packet = WrapperPlayServerBlockChange(vector, state) + PacketEvents.getAPI().playerManager.sendPacket(player, packet) + } +} |