Class PacketCustom

java.lang.Object
codechicken.lib.data.MCDataByteBuf
codechicken.lib.packet.PacketCustom
All Implemented Interfaces:
MCDataInput, MCDataOutput

public final class PacketCustom extends MCDataByteBuf
  • Constructor Details

    • PacketCustom

      public PacketCustom(io.netty.buffer.ByteBuf payload)
    • PacketCustom

      public PacketCustom(net.minecraft.resources.ResourceLocation channel, int type)
  • Method Details

    • incoming

      public boolean incoming()
    • getType

      public int getType()
    • getChannel

      public net.minecraft.resources.ResourceLocation getChannel()
    • toPacket

      public net.minecraft.network.protocol.Packet<?> toPacket(net.minecraftforge.network.NetworkDirection direction)
    • toPacket

      public net.minecraft.network.protocol.Packet<?> toPacket(net.minecraftforge.network.NetworkDirection direction, int index)
    • sendToPlayer

      public void sendToPlayer(net.minecraft.server.level.ServerPlayer player)
    • sendToPlayer

      public static void sendToPlayer(net.minecraft.network.protocol.Packet<?> packet, net.minecraft.server.level.ServerPlayer player)
    • sendToClients

      public void sendToClients()
    • sendToClients

      public static void sendToClients(net.minecraft.network.protocol.Packet<?> packet)
    • sendPacketToAllAround

      public void sendPacketToAllAround(net.minecraft.core.BlockPos pos, double range, net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dim)
    • sendPacketToAllAround

      public void sendPacketToAllAround(double x, double y, double z, double range, net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dim)
    • sendToAllAround

      public static void sendToAllAround(net.minecraft.network.protocol.Packet<?> packet, double x, double y, double z, double range, net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dim)
    • sendToDimension

      public void sendToDimension(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dim)
    • sendToDimension

      public static void sendToDimension(net.minecraft.network.protocol.Packet<?> packet, net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dim)
    • sendToChunk

      public void sendToChunk(net.minecraft.world.level.block.entity.BlockEntity tile)
    • sendToChunk

      public void sendToChunk(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos blockPos)
    • sendToChunk

      public void sendToChunk(net.minecraft.world.level.Level world, int chunkX, int chunkZ)
    • sendToChunk

      public void sendToChunk(net.minecraft.world.level.Level world, net.minecraft.world.level.ChunkPos pos)
    • sendToChunk

      public static void sendToChunk(net.minecraft.network.protocol.Packet<?> packet, net.minecraft.world.level.Level world, net.minecraft.core.BlockPos blockPos)
    • sendToChunk

      public static void sendToChunk(net.minecraft.network.protocol.Packet<?> packet, net.minecraft.world.level.Level world, int chunkX, int chunkZ)
    • sendToChunk

      public static void sendToChunk(net.minecraft.network.protocol.Packet<?> packet, net.minecraft.world.level.Level world, net.minecraft.world.level.ChunkPos pos)
    • sendToOps

      public void sendToOps()
    • sendToOps

      public static void sendToOps(net.minecraft.network.protocol.Packet<?> packet)
    • sendToServer

      public void sendToServer()
    • sendToServer

      public static void sendToServer(net.minecraft.network.protocol.Packet<?> packet)
    • writeByte

      public PacketCustom writeByte(int p0)
      Description copied from interface: MCDataOutput
      Writes a byte to the stream.
      Specified by:
      writeByte in interface MCDataOutput
      Overrides:
      writeByte in class MCDataByteBuf
      Parameters:
      p0 - The byte.
      Returns:
      The same stream.
    • writeChar

      public PacketCustom writeChar(int c)
      Description copied from interface: MCDataOutput
      Writes a char to the stream.
      Specified by:
      writeChar in interface MCDataOutput
      Overrides:
      writeChar in class MCDataByteBuf
      Parameters:
      c - The char.
      Returns:
      The same stream.
    • writeShort

      public PacketCustom writeShort(int p0)
      Description copied from interface: MCDataOutput
      Writes a short to the stream.
      Specified by:
      writeShort in interface MCDataOutput
      Overrides:
      writeShort in class MCDataByteBuf
      Parameters:
      p0 - The short.
      Returns:
      The same stream.
    • writeInt

      public PacketCustom writeInt(int p0)
      Description copied from interface: MCDataOutput
      Writes a int to the stream.
      Specified by:
      writeInt in interface MCDataOutput
      Overrides:
      writeInt in class MCDataByteBuf
      Parameters:
      p0 - The int.
      Returns:
      The same stream.
    • writeLong

      public PacketCustom writeLong(long l)
      Description copied from interface: MCDataOutput
      Writes a long to the stream.
      Specified by:
      writeLong in interface MCDataOutput
      Overrides:
      writeLong in class MCDataByteBuf
      Parameters:
      l - The long.
      Returns:
      The same stream.
    • writeFloat

      public PacketCustom writeFloat(float f)
      Description copied from interface: MCDataOutput
      Writes a float to the stream.
      Specified by:
      writeFloat in interface MCDataOutput
      Overrides:
      writeFloat in class MCDataByteBuf
      Parameters:
      f - The float.
      Returns:
      The same stream.
    • writeDouble

      public PacketCustom writeDouble(double p0)
      Description copied from interface: MCDataOutput
      Writes a double to the stream.
      Specified by:
      writeDouble in interface MCDataOutput
      Overrides:
      writeDouble in class MCDataByteBuf
      Parameters:
      p0 - The double.
      Returns:
      The same stream.
    • writeBoolean

      public PacketCustom writeBoolean(boolean b)
      Description copied from interface: MCDataOutput
      Writes a boolean to the stream.
      Specified by:
      writeBoolean in interface MCDataOutput
      Overrides:
      writeBoolean in class MCDataByteBuf
      Parameters:
      b - The boolean.
      Returns:
      The same stream.
    • writeBytes

      public PacketCustom writeBytes(byte[] b)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      b - The array.
      Returns:
      The same stream.
    • writeBytes

      public PacketCustom writeBytes(byte[] b, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      b - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeChars

      public PacketCustom writeChars(char[] c)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      c - The array.
      Returns:
      The same stream.
    • writeChars

      public PacketCustom writeChars(char[] c, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      c - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeShorts

      public PacketCustom writeShorts(short[] s)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      s - The array.
      Returns:
      The same stream.
    • writeShorts

      public PacketCustom writeShorts(short[] s, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      s - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeInts

      public PacketCustom writeInts(int[] i)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      i - The array.
      Returns:
      The same stream.
    • writeInts

      public PacketCustom writeInts(int[] i, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      i - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeLongs

      public PacketCustom writeLongs(long[] l)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      l - The array.
      Returns:
      The same stream.
    • writeLongs

      public PacketCustom writeLongs(long[] l, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      l - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeFloats

      public PacketCustom writeFloats(float[] f)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      f - The array.
      Returns:
      The same stream.
    • writeFloats

      public PacketCustom writeFloats(float[] f, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      f - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeDoubles

      public PacketCustom writeDoubles(double[] d)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      d - The array.
      Returns:
      The same stream.
    • writeDoubles

      public PacketCustom writeDoubles(double[] d, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      d - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeBooleans

      public PacketCustom writeBooleans(boolean[] b)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      b - The array.
      Returns:
      The same stream.
    • writeBooleans

      public PacketCustom writeBooleans(boolean[] b, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array to the stream, including its length. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      b - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • append

      public PacketCustom append(byte[] bytes)
      Description copied from interface: MCDataOutput
      Appends the content of the array to the end of this buffer.
      Parameters:
      bytes - The array.
      Returns:
      The same stream.
    • writeVarInt

      public PacketCustom writeVarInt(int i)
      Description copied from interface: MCDataOutput
      Writes a Variable length int. Doesn't handle Signed ints well, they end up as 5 bytes, instead of 4, Use MCDataOutput.writeSignedVarInt(int) if you require numbers <= -1
      Parameters:
      i - The int.
      Returns:
      The same stream.
    • writeVarLong

      public PacketCustom writeVarLong(long l)
      Description copied from interface: MCDataOutput
      Writes a Variable length long. Doesn't handle Signed longs well, they end up as 10 bytes, instead of 8, Use MCDataOutput.writeSignedVarLong(long) if you require numbers <= -1
      Parameters:
      l - The long.
      Returns:
      The same stream.
    • writeVarInts

      public PacketCustom writeVarInts(int[] i)
      Description copied from interface: MCDataOutput
      Writes an array of Variable length ints to the stream. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      i - The array.
      Returns:
      The same stream.
    • writeVarInts

      public PacketCustom writeVarInts(int[] i, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array of Variable length ints to the stream. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      i - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeVarLongs

      public PacketCustom writeVarLongs(long[] l)
      Description copied from interface: MCDataOutput
      Writes an array of Variable length longs to the stream. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      l - The array.
      Returns:
      The same stream.
    • writeVarLongs

      public PacketCustom writeVarLongs(long[] l, int off, int len)
      Description copied from interface: MCDataOutput
      Writes an array of Variable length longs to the stream. First writes the arrays length as a varInt, followed by the array data.
      Parameters:
      l - The array.
      off - An offset into the array to start reading from.
      len - How many elements to read.
      Returns:
      The same stream.
    • writeString

      public PacketCustom writeString(String s)
      Description copied from interface: MCDataOutput
      Writes a UTF-8 Encoded String to the stream. Forces a length of 32767 encoded bytes.
      Parameters:
      s - The String.
      Returns:
      The same stream.
    • writeString

      public PacketCustom writeString(String s, int maxLen)
      Description copied from interface: MCDataOutput
      Writes a UTF-8 Encoded String to the stream.
      Parameters:
      s - The String.
      maxLen - The maximum number of bytes to write, extra bytes will cause an EncoderException.
      Returns:
      The same stream.
    • writeUUID

      public PacketCustom writeUUID(UUID uuid)
      Description copied from interface: MCDataOutput
      Writes a UUID to the stream.
      Parameters:
      uuid - The UUID.
      Returns:
      The same stream.
    • writeEnum

      public PacketCustom writeEnum(Enum<?> value)
      Description copied from interface: MCDataOutput
      Writes an Enum value to the stream.
      Parameters:
      value - The Enum value to write.
      Returns:
      The same stream.
    • writeByteBuffer

      public PacketCustom writeByteBuffer(ByteBuffer buffer)
      Description copied from interface: MCDataOutput
      Writes a ByteBuffer to the stream.
      Parameters:
      buffer - The ByteBuffer.
      Returns:
      The same stream.
    • writeCharBuffer

      public PacketCustom writeCharBuffer(CharBuffer buffer)
      Description copied from interface: MCDataOutput
      Writes a CharBuffer to the stream.
      Parameters:
      buffer - The CharBuffer.
      Returns:
      The same stream.
    • writeShortBuffer

      public PacketCustom writeShortBuffer(ShortBuffer buffer)
      Description copied from interface: MCDataOutput
      Writes a ShortBuffer to the stream.
      Parameters:
      buffer - The ShortBuffer.
      Returns:
      The same stream.
    • writeIntBuffer

      public PacketCustom writeIntBuffer(IntBuffer buffer)
      Description copied from interface: MCDataOutput
      Writes a IntBuffer to the stream.
      Parameters:
      buffer - The IntBuffer.
      Returns:
      The same stream.
    • writeLongBuffer

      public PacketCustom writeLongBuffer(LongBuffer buffer)
      Description copied from interface: MCDataOutput
      Writes a LongBuffer to the stream.
      Parameters:
      buffer - The LongBuffer.
      Returns:
      The same stream.
    • writeFloatBuffer

      public PacketCustom writeFloatBuffer(FloatBuffer buffer)
      Description copied from interface: MCDataOutput
      Writes a FloatBuffer to the stream.
      Parameters:
      buffer - The FloatBuffer.
      Returns:
      The same stream.
    • writeDoubleBuffer

      public PacketCustom writeDoubleBuffer(DoubleBuffer buffer)
      Description copied from interface: MCDataOutput
      Writes a DoubleBuffer to the stream.
      Parameters:
      buffer - The DoubleBuffer.
      Returns:
      The same stream.
    • writeVector

      public PacketCustom writeVector(Vector3 vec)
      Description copied from interface: MCDataOutput
      Writes a Vector3 to the stream.
      Parameters:
      vec - The Vector3.
      Returns:
      The same stream.
    • writeCuboid

      public PacketCustom writeCuboid(Cuboid6 cuboid)
      Description copied from interface: MCDataOutput
      Writes a Cuboid6 to the stream.
      Parameters:
      cuboid - The Cuboid6
      Returns:
      The same stream.
    • writeResourceLocation

      public PacketCustom writeResourceLocation(net.minecraft.resources.ResourceLocation loc)
      Description copied from interface: MCDataOutput
      Writes a ResourceLocation to the stream.
      Parameters:
      loc - The ResourceLocation.
      Returns:
      The same stream.
    • writeDirection

      public PacketCustom writeDirection(net.minecraft.core.Direction dir)
      Description copied from interface: MCDataOutput
      Writes a Direction to the stream.
      Parameters:
      dir - The Direction.
      Returns:
      The same stream.
    • writePos

      public PacketCustom writePos(net.minecraft.core.BlockPos pos)
      Description copied from interface: MCDataOutput
      Writes a BlockPos to the stream.
      Parameters:
      pos - The BlockPos.
      Returns:
      The same stream.
    • writeVec3i

      public PacketCustom writeVec3i(net.minecraft.core.Vec3i vec)
      Description copied from interface: MCDataOutput
      Writes a Vec3i to the stream.
      Parameters:
      vec - The Vec3i.
      Returns:
      The same stream.
    • writeVec3d

      public PacketCustom writeVec3d(net.minecraft.world.phys.Vec3 vec)
      Description copied from interface: MCDataOutput
      Writes a Vec3 to the stream.
      Parameters:
      vec - The Vec3.
      Returns:
      The same stream.
    • writeCompoundNBT

      public PacketCustom writeCompoundNBT(net.minecraft.nbt.CompoundTag tag)
      Description copied from interface: MCDataOutput
      Writes a CompoundTag to the stream.
      Parameters:
      tag - The CompoundTag.
      Returns:
      The same stream.
    • writeFluidStack

      public PacketCustom writeFluidStack(net.minecraftforge.fluids.FluidStack stack)
      Description copied from interface: MCDataOutput
      Writes a FluidStack to the stream.
      Parameters:
      stack - The FluidStack.
      Returns:
      The same stream.
    • writeItemStack

      public PacketCustom writeItemStack(net.minecraft.world.item.ItemStack stack)
      Description copied from interface: MCDataOutput
      Writes an ItemStack to the stream. Overload for MCDataOutput.writeItemStack(ItemStack, boolean) passing true.
      Parameters:
      stack - The ItemStack.
      Returns:
      The same stream.
    • writeItemStack

      public PacketCustom writeItemStack(net.minecraft.world.item.ItemStack stack, boolean limitedTag)
      Description copied from interface: MCDataOutput
      Writes an ItemStack to the stream. The limitedTag parameter, can be used to force the use of the stack IForgeItemStack.getShareTag() instead of its ItemStack.getTag(). Under normal circumstances in Server -> Client sync, not all NBT tags are required, to be sent to the client. For Example, the inventory of a pouch / bag(Containers sync it). However, in Client -> Server sync, the entire tag may be required, modders can choose, if they want a stacks full tag or not. The default is to use IForgeItemStack.getShareTag().

      It should also be noted that this implementation writes the ItemStack.getCount() as a varInt opposed to a byte, as that is favourable in some cases.

      Parameters:
      stack - The ItemStack.
      limitedTag - Weather to use the stacks IForgeItemStack.getShareTag() instead.
      Returns:
      The same stream.
    • writeTextComponent

      public PacketCustom writeTextComponent(net.minecraft.network.chat.Component component)
      Description copied from interface: MCDataOutput
      Writes a Component to the stream.
      Parameters:
      component - The Component.
      Returns:
      The same stream.
    • writeRegistryIdDirect

      public <T> PacketCustom writeRegistryIdDirect(net.minecraftforge.registries.IForgeRegistry<T> registry, T entry)
      Description copied from interface: MCDataOutput
      Writes a forge registry object's id to the stream. This method does not encode the Registry name to the packet, only the object's id.
      Parameters:
      registry - The registry that owns entry.
      entry - The object to write to the stream.
      Returns:
      The same stream.
    • writeRegistryIdDirect

      public <T> PacketCustom writeRegistryIdDirect(net.minecraftforge.registries.IForgeRegistry<T> registry, net.minecraft.resources.ResourceLocation entry)
      Description copied from interface: MCDataOutput
      Writes the id associated with the given name to the stream. This method does not encode the Registry name to the packet, only the id.
      Parameters:
      registry - The registry that owns entry.
      entry - The name of the registry object to write.
      Returns:
      The same stream.
    • writeRegistryId

      public <T> PacketCustom writeRegistryId(net.minecraftforge.registries.IForgeRegistry<T> registry, T entry)
      Description copied from interface: MCDataOutput
      Writes the given object to the stream encoding both the registry name and object's id.
      Parameters:
      registry - The registry that owns entry.
      entry - The object to write to the stream.
      Returns:
      The same stream.
    • writeRegistryId

      public <T> PacketCustom writeRegistryId(net.minecraftforge.registries.IForgeRegistry<T> registry, net.minecraft.resources.ResourceLocation entry)
      Description copied from interface: MCDataOutput
      Writes the id associated with the given name to the stream encoding both the registry name and object's id.
      Parameters:
      registry - The registry that owns entry.
      entry - The name of the registry object to write.
      Returns:
      The same stream.
    • writeByteBuf

      public PacketCustom writeByteBuf(io.netty.buffer.ByteBuf buf)
      Description copied from interface: MCDataOutput
      Writes a ByteBuf to the stream, including its length. First writes the arrays length as a varInt, followed by the ByteBuf data.
      Parameters:
      buf - The ByteBuf.
      Returns:
      The same stream.
    • append

      public PacketCustom append(io.netty.buffer.ByteBuf buf)
      Description copied from interface: MCDataOutput
      Appends a ByteBuf to the end of this stream.
      Parameters:
      buf - The ByteBuf to append.
      Returns:
      The same stream.