Search in sources :

Example 1 with EndBinaryTag

use of com.sk89q.worldedit.util.nbt.EndBinaryTag in project FastAsyncWorldEdit by IntellectualSites.

the class PaperweightAdapter method fromNativeBinary.

/**
 * Converts a WorldEdit-native NBT structure to a NMS structure.
 *
 * @param foreign structure to convert
 * @return non-native structure
 */
@Override
public net.minecraft.nbt.Tag fromNativeBinary(BinaryTag foreign) {
    if (foreign == null) {
        return null;
    }
    if (foreign instanceof CompoundBinaryTag) {
        net.minecraft.nbt.CompoundTag tag = new net.minecraft.nbt.CompoundTag();
        for (String key : ((CompoundBinaryTag) foreign).keySet()) {
            tag.put(key, fromNativeBinary(((CompoundBinaryTag) foreign).get(key)));
        }
        return tag;
    } else if (foreign instanceof ByteBinaryTag) {
        return net.minecraft.nbt.ByteTag.valueOf(((ByteBinaryTag) foreign).value());
    } else if (foreign instanceof ByteArrayBinaryTag) {
        return new net.minecraft.nbt.ByteArrayTag(((ByteArrayBinaryTag) foreign).value());
    } else if (foreign instanceof DoubleBinaryTag) {
        return net.minecraft.nbt.DoubleTag.valueOf(((DoubleBinaryTag) foreign).value());
    } else if (foreign instanceof FloatBinaryTag) {
        return net.minecraft.nbt.FloatTag.valueOf(((FloatBinaryTag) foreign).value());
    } else if (foreign instanceof IntBinaryTag) {
        return net.minecraft.nbt.IntTag.valueOf(((IntBinaryTag) foreign).value());
    } else if (foreign instanceof IntArrayBinaryTag) {
        return new net.minecraft.nbt.IntArrayTag(((IntArrayBinaryTag) foreign).value());
    } else if (foreign instanceof LongArrayBinaryTag) {
        return new net.minecraft.nbt.LongArrayTag(((LongArrayBinaryTag) foreign).value());
    } else if (foreign instanceof ListBinaryTag) {
        net.minecraft.nbt.ListTag tag = new net.minecraft.nbt.ListTag();
        ListBinaryTag foreignList = (ListBinaryTag) foreign;
        for (BinaryTag t : foreignList) {
            tag.add(fromNativeBinary(t));
        }
        return tag;
    } else if (foreign instanceof LongBinaryTag) {
        return net.minecraft.nbt.LongTag.valueOf(((LongBinaryTag) foreign).value());
    } else if (foreign instanceof ShortBinaryTag) {
        return net.minecraft.nbt.ShortTag.valueOf(((ShortBinaryTag) foreign).value());
    } else if (foreign instanceof StringBinaryTag) {
        return net.minecraft.nbt.StringTag.valueOf(((StringBinaryTag) foreign).value());
    } else if (foreign instanceof EndBinaryTag) {
        return net.minecraft.nbt.EndTag.INSTANCE;
    } else {
        throw new IllegalArgumentException("Don't know how to make NMS " + foreign.getClass().getCanonicalName());
    }
}
Also used : ListBinaryTag(com.sk89q.worldedit.util.nbt.ListBinaryTag) LongArrayBinaryTag(com.sk89q.worldedit.util.nbt.LongArrayBinaryTag) LongBinaryTag(com.sk89q.worldedit.util.nbt.LongBinaryTag) BinaryTag(com.sk89q.worldedit.util.nbt.BinaryTag) StringBinaryTag(com.sk89q.worldedit.util.nbt.StringBinaryTag) IntBinaryTag(com.sk89q.worldedit.util.nbt.IntBinaryTag) IntArrayBinaryTag(com.sk89q.worldedit.util.nbt.IntArrayBinaryTag) ShortBinaryTag(com.sk89q.worldedit.util.nbt.ShortBinaryTag) ByteArrayBinaryTag(com.sk89q.worldedit.util.nbt.ByteArrayBinaryTag) ListBinaryTag(com.sk89q.worldedit.util.nbt.ListBinaryTag) CompoundBinaryTag(com.sk89q.worldedit.util.nbt.CompoundBinaryTag) EndBinaryTag(com.sk89q.worldedit.util.nbt.EndBinaryTag) DoubleBinaryTag(com.sk89q.worldedit.util.nbt.DoubleBinaryTag) FloatBinaryTag(com.sk89q.worldedit.util.nbt.FloatBinaryTag) ByteBinaryTag(com.sk89q.worldedit.util.nbt.ByteBinaryTag) DoubleBinaryTag(com.sk89q.worldedit.util.nbt.DoubleBinaryTag) EndBinaryTag(com.sk89q.worldedit.util.nbt.EndBinaryTag) ByteBinaryTag(com.sk89q.worldedit.util.nbt.ByteBinaryTag) CompoundBinaryTag(com.sk89q.worldedit.util.nbt.CompoundBinaryTag) ShortBinaryTag(com.sk89q.worldedit.util.nbt.ShortBinaryTag) ByteArrayBinaryTag(com.sk89q.worldedit.util.nbt.ByteArrayBinaryTag) IntBinaryTag(com.sk89q.worldedit.util.nbt.IntBinaryTag) LongBinaryTag(com.sk89q.worldedit.util.nbt.LongBinaryTag) FloatBinaryTag(com.sk89q.worldedit.util.nbt.FloatBinaryTag) IntArrayBinaryTag(com.sk89q.worldedit.util.nbt.IntArrayBinaryTag) StringBinaryTag(com.sk89q.worldedit.util.nbt.StringBinaryTag) LongArrayBinaryTag(com.sk89q.worldedit.util.nbt.LongArrayBinaryTag)

Aggregations

BinaryTag (com.sk89q.worldedit.util.nbt.BinaryTag)1 ByteArrayBinaryTag (com.sk89q.worldedit.util.nbt.ByteArrayBinaryTag)1 ByteBinaryTag (com.sk89q.worldedit.util.nbt.ByteBinaryTag)1 CompoundBinaryTag (com.sk89q.worldedit.util.nbt.CompoundBinaryTag)1 DoubleBinaryTag (com.sk89q.worldedit.util.nbt.DoubleBinaryTag)1 EndBinaryTag (com.sk89q.worldedit.util.nbt.EndBinaryTag)1 FloatBinaryTag (com.sk89q.worldedit.util.nbt.FloatBinaryTag)1 IntArrayBinaryTag (com.sk89q.worldedit.util.nbt.IntArrayBinaryTag)1 IntBinaryTag (com.sk89q.worldedit.util.nbt.IntBinaryTag)1 ListBinaryTag (com.sk89q.worldedit.util.nbt.ListBinaryTag)1 LongArrayBinaryTag (com.sk89q.worldedit.util.nbt.LongArrayBinaryTag)1 LongBinaryTag (com.sk89q.worldedit.util.nbt.LongBinaryTag)1 ShortBinaryTag (com.sk89q.worldedit.util.nbt.ShortBinaryTag)1 StringBinaryTag (com.sk89q.worldedit.util.nbt.StringBinaryTag)1