当前位置: 首页>>代码示例>>Java>>正文


Java StringTag类代码示例

本文整理汇总了Java中net.canarymod.api.nbt.StringTag的典型用法代码示例。如果您正苦于以下问题:Java StringTag类的具体用法?Java StringTag怎么用?Java StringTag使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


StringTag类属于net.canarymod.api.nbt包,在下文中一共展示了StringTag类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getNBTValue

import net.canarymod.api.nbt.StringTag; //导入依赖的package包/类
private Object getNBTValue(BaseTag<?> v) {
    Object val = null;
    switch(v.getTypeId()) {
        case 1: // Byte
            val = Byte.valueOf(((ByteTag)v).getByteValue());
            break;
        case 2: // Short
            val = Short.valueOf(((ShortTag)v).getShortValue());
            break;
        case 3: // Int
            val = Integer.valueOf(((IntTag)v).getIntValue());
            break;
        case 4: // Long
            val = Long.valueOf(((LongTag)v).getLongValue());
            break;
        case 5: // Float
            val = Float.valueOf(((FloatTag)v).getFloatValue());
            break;
        case 6: // Double
            val = Double.valueOf(((DoubleTag)v).getDoubleValue());
            break;
        case 7: // Byte[]
            val = ((ByteArrayTag)v).getValue();
            break;
        case 8: // String
            val = ((StringTag)v).getValue();
            break;
        case 9: // List
            ListTag<BaseTag<?>> tl = (ListTag<BaseTag<?>>) v;
            ArrayList<Object> vlist = new ArrayList<Object>();
            int type = tl.getTypeId();
            for (int i = 0; i < tl.size(); i++) {
                BaseTag<?> bt = tl.get(i);
                switch (type) {
                    case 5:
                        float fv = ((FloatTag)bt).getFloatValue();
                        vlist.add(fv);
                        break;
                    case 6:
                        double dv = ((DoubleTag)bt).getDoubleValue();
                        vlist.add(dv);
                        break;
                    case 8:
                        String sv = ((StringTag)bt).getValue();
                        vlist.add(sv);
                        break;
                    case 10:
                        vlist.add(getNBTValue(bt));
                        break;
                    case 11:
                        int[] ia = ((IntArrayTag)bt).getValue();
                        vlist.add(ia);
                        break;
                }
            }
            val = vlist;
            break;
        case 10: // Map
            CompoundTag tc = (CompoundTag) v;
            HashMap<String, Object> vmap = new HashMap<String, Object>();
            for (String t : tc.keySet()) {
                BaseTag<?> tg = tc.get(t);
                vmap.put(t, getNBTValue(tg));
            }
            val = vmap;
            break;
        case 11: // Int[]
            val = ((IntArrayTag)v).getValue();
            break;
    }
    return val;
}
 
开发者ID:webbukkit,项目名称:DynmapCanary,代码行数:73,代码来源:CanaryModMapChunkCache.java

示例2: newStringTag

import net.canarymod.api.nbt.StringTag; //导入依赖的package包/类
@Override
public StringTag newStringTag(String value) {
    return (StringTag) new NBTTagString(value);
}
 
开发者ID:NeptunePowered,项目名称:NeptuneCommon,代码行数:5,代码来源:NeptuneNBTFactory.java


注:本文中的net.canarymod.api.nbt.StringTag类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。