Search in sources :

Example 1 with ByteBinaryTag

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

the class NbtUtils method getInt.

/**
 * Get an integer from a tag.
 *
 * @param tag the tag to read from
 * @param key the key to look for
 * @return child tag
 * @throws InvalidFormatException if the format of the items is invalid
 * @since TODO
 */
public static int getInt(CompoundBinaryTag tag, String key) throws InvalidFormatException {
    BinaryTag childTag = tag.get(key);
    if (childTag == null) {
        throw new InvalidFormatException("Missing a \"" + key + "\" tag");
    }
    BinaryTagType<?> type = childTag.type();
    if (type == BinaryTagTypes.INT) {
        return ((IntBinaryTag) childTag).intValue();
    }
    if (type == BinaryTagTypes.BYTE) {
        return ((ByteBinaryTag) childTag).intValue();
    }
    if (type == BinaryTagTypes.SHORT) {
        return ((ShortBinaryTag) childTag).intValue();
    }
    throw new InvalidFormatException(key + " tag is not of int, short or byte tag type.");
}
Also used : ShortBinaryTag(com.sk89q.worldedit.util.nbt.ShortBinaryTag) ByteBinaryTag(com.sk89q.worldedit.util.nbt.ByteBinaryTag) BinaryTag(com.sk89q.worldedit.util.nbt.BinaryTag) IntBinaryTag(com.sk89q.worldedit.util.nbt.IntBinaryTag) ByteBinaryTag(com.sk89q.worldedit.util.nbt.ByteBinaryTag) ShortBinaryTag(com.sk89q.worldedit.util.nbt.ShortBinaryTag) CompoundBinaryTag(com.sk89q.worldedit.util.nbt.CompoundBinaryTag) IntBinaryTag(com.sk89q.worldedit.util.nbt.IntBinaryTag) InvalidFormatException(com.sk89q.worldedit.world.storage.InvalidFormatException)

Example 2 with ByteBinaryTag

use of com.sk89q.worldedit.util.nbt.ByteBinaryTag 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)2 ByteBinaryTag (com.sk89q.worldedit.util.nbt.ByteBinaryTag)2 CompoundBinaryTag (com.sk89q.worldedit.util.nbt.CompoundBinaryTag)2 IntBinaryTag (com.sk89q.worldedit.util.nbt.IntBinaryTag)2 ShortBinaryTag (com.sk89q.worldedit.util.nbt.ShortBinaryTag)2 ByteArrayBinaryTag (com.sk89q.worldedit.util.nbt.ByteArrayBinaryTag)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 ListBinaryTag (com.sk89q.worldedit.util.nbt.ListBinaryTag)1 LongArrayBinaryTag (com.sk89q.worldedit.util.nbt.LongArrayBinaryTag)1 LongBinaryTag (com.sk89q.worldedit.util.nbt.LongBinaryTag)1 StringBinaryTag (com.sk89q.worldedit.util.nbt.StringBinaryTag)1 InvalidFormatException (com.sk89q.worldedit.world.storage.InvalidFormatException)1