Search in sources :

Example 31 with PacketBufferBC

use of buildcraft.lib.net.PacketBufferBC in project BuildCraft by BuildCraft.

the class MessageUtil method writeEnumOrNull.

/**
 * {@link PacketBuffer#writeEnumValue(Enum)} can only write *actual* enum values - so not null. This method allows
 * for writing an enum value, or null.
 */
public static void writeEnumOrNull(ByteBuf buffer, Enum<?> value) {
    PacketBufferBC buf = PacketBufferBC.asPacketBufferBc(buffer);
    if (value == null) {
        buf.writeBoolean(false);
    } else {
        buf.writeBoolean(true);
        buf.writeEnumValue(value);
    }
}
Also used : PacketBufferBC(buildcraft.lib.net.PacketBufferBC)

Aggregations

PacketBufferBC (buildcraft.lib.net.PacketBufferBC)31 Test (org.junit.Test)6 EnumPipePart (buildcraft.api.core.EnumPipePart)4 IOException (java.io.IOException)4 List (java.util.List)4 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)4 NBTUtilBC (buildcraft.lib.misc.NBTUtilBC)3 ArrayList (java.util.ArrayList)3 UUID (java.util.UUID)3 IntStream (java.util.stream.IntStream)3 EnumDyeColor (net.minecraft.item.EnumDyeColor)3 EnumFacing (net.minecraft.util.EnumFacing)3 BlockPos (net.minecraft.util.math.BlockPos)3 World (net.minecraft.world.World)3 Side (net.minecraftforge.fml.relauncher.Side)3 Box (buildcraft.lib.misc.data.Box)2 ByteBuf (io.netty.buffer.ByteBuf)2 ItemStack (net.minecraft.item.ItemStack)2 NBTUtil (net.minecraft.nbt.NBTUtil)2 PacketBuffer (net.minecraft.network.PacketBuffer)2