use of com.github.steveice10.opennbt.tag.builtin.FloatTag in project ViaVersion by ViaVersion.
the class EntityPackets method createEndEntry.
private static CompoundTag createEndEntry() {
CompoundTag tag = new CompoundTag();
tag.put("piglin_safe", new ByteTag((byte) 0));
tag.put("natural", new ByteTag((byte) 0));
tag.put("ambient_light", new FloatTag(0));
tag.put("infiniburn", new StringTag("minecraft:infiniburn_end"));
tag.put("respawn_anchor_works", new ByteTag((byte) 0));
tag.put("has_skylight", new ByteTag((byte) 0));
tag.put("bed_works", new ByteTag((byte) 0));
tag.put("fixed_time", new LongTag(6000));
tag.put("has_raids", new ByteTag((byte) 1));
tag.put("name", new StringTag("minecraft:the_end"));
tag.put("logical_height", new IntTag(256));
tag.put("shrunk", new ByteTag((byte) 0));
tag.put("ultrawarm", new ByteTag((byte) 0));
tag.put("has_ceiling", new ByteTag((byte) 0));
return tag;
}
use of com.github.steveice10.opennbt.tag.builtin.FloatTag in project ViaVersion by ViaVersion.
the class EntityPackets method addSharedOverwaldEntries.
private static void addSharedOverwaldEntries(CompoundTag tag) {
tag.put("piglin_safe", new ByteTag((byte) 0));
tag.put("natural", new ByteTag((byte) 1));
tag.put("ambient_light", new FloatTag(0));
tag.put("infiniburn", new StringTag("minecraft:infiniburn_overworld"));
tag.put("respawn_anchor_works", new ByteTag((byte) 0));
tag.put("has_skylight", new ByteTag((byte) 1));
tag.put("bed_works", new ByteTag((byte) 1));
tag.put("has_raids", new ByteTag((byte) 1));
tag.put("logical_height", new IntTag(256));
tag.put("shrunk", new ByteTag((byte) 0));
tag.put("ultrawarm", new ByteTag((byte) 0));
}
use of com.github.steveice10.opennbt.tag.builtin.FloatTag in project DragonProxy by DragonetMC.
the class ItemBlockTranslator method translateRawNBT.
@SuppressWarnings("unchecked")
public static org.dragonet.common.data.nbt.tag.CompoundTag translateRawNBT(int id, Tag pcTag, org.dragonet.common.data.nbt.tag.CompoundTag target) {
if (pcTag != null) {
String name = pcTag.getName() != null ? pcTag.getName() : "";
if (target == null)
target = new org.dragonet.common.data.nbt.tag.CompoundTag(name);
switch(pcTag.getClass().getSimpleName()) {
case "ByteArrayTag":
target.putByteArray(name, (byte[]) pcTag.getValue());
break;
case "ByteTag":
target.putByte(name, (byte) pcTag.getValue());
break;
case "DoubleTag":
target.putDouble(name, (double) pcTag.getValue());
break;
case "FloatTag":
target.putFloat(name, (float) pcTag.getValue());
break;
case "IntArrayTag":
target.putIntArray(name, (int[]) pcTag.getValue());
break;
case "IntTag":
target.putInt(name, (int) pcTag.getValue());
break;
case "LongTag":
target.putLong(name, (long) pcTag.getValue());
break;
case "ShortTag":
target.putShort(name, (short) pcTag.getValue());
break;
case "StringTag":
target.putString(name, (String) pcTag.getValue());
break;
case "CompoundTag":
for (String subName : ((CompoundTag) pcTag).getValue().keySet()) translateRawNBT(0, ((CompoundTag) pcTag).getValue().get(subName), target);
break;
case "ListTag":
ListTag listTag = new ListTag();
for (Tag subTag : (List<Tag>) pcTag.getValue()) listTag.add(translateRawNBT(0, subTag, new org.dragonet.common.data.nbt.tag.CompoundTag()));
target.putList(listTag);
break;
default:
System.out.println("TAG not implemented : " + pcTag.getClass().getSimpleName());
break;
}
}
return target;
}
use of com.github.steveice10.opennbt.tag.builtin.FloatTag in project ViaVersion by ViaVersion.
the class EntityPackets method createNetherEntry.
private static CompoundTag createNetherEntry() {
CompoundTag tag = new CompoundTag();
tag.put("piglin_safe", new ByteTag((byte) 1));
tag.put("natural", new ByteTag((byte) 0));
tag.put("ambient_light", new FloatTag(0.1F));
tag.put("infiniburn", new StringTag("minecraft:infiniburn_nether"));
tag.put("respawn_anchor_works", new ByteTag((byte) 1));
tag.put("has_skylight", new ByteTag((byte) 0));
tag.put("bed_works", new ByteTag((byte) 0));
tag.put("fixed_time", new LongTag(18000));
tag.put("has_raids", new ByteTag((byte) 0));
tag.put("name", new StringTag("minecraft:the_nether"));
tag.put("logical_height", new IntTag(128));
tag.put("shrunk", new ByteTag((byte) 1));
tag.put("ultrawarm", new ByteTag((byte) 1));
tag.put("has_ceiling", new ByteTag((byte) 1));
return tag;
}
use of com.github.steveice10.opennbt.tag.builtin.FloatTag in project ViaVersion by ViaVersion.
the class TagStringReader method scalar.
/**
* A tag that is definitely some sort of scalar.
*
* <p>Does not detect quoted strings, so those should have been parsed already.</p>
*
* @return a parsed tag
*/
private Tag scalar() {
final StringBuilder builder = new StringBuilder();
int noLongerNumericAt = -1;
while (this.buffer.hasMore()) {
char current = this.buffer.peek();
if (current == '\\') {
// escape -- we are significantly more lenient than original format at the moment
this.buffer.advance();
current = this.buffer.take();
} else if (Tokens.id(current)) {
this.buffer.advance();
} else {
// end of value
break;
}
builder.append(current);
if (noLongerNumericAt == -1 && !Tokens.numeric(current)) {
noLongerNumericAt = builder.length();
}
}
final int length = builder.length();
final String built = builder.toString();
if (noLongerNumericAt == length) {
final char last = built.charAt(length - 1);
try {
switch(// try to read and return as a number
Character.toLowerCase(last)) {
case Tokens.TYPE_BYTE:
return new ByteTag(Byte.parseByte(built.substring(0, length - 1)));
case Tokens.TYPE_SHORT:
return new ShortTag(Short.parseShort(built.substring(0, length - 1)));
case Tokens.TYPE_INT:
return new IntTag(Integer.parseInt(built.substring(0, length - 1)));
case Tokens.TYPE_LONG:
return new LongTag(Long.parseLong(built.substring(0, length - 1)));
case Tokens.TYPE_FLOAT:
final float floatValue = Float.parseFloat(built.substring(0, length - 1));
if (Float.isFinite(floatValue)) {
// don't accept NaN and Infinity
return new FloatTag(floatValue);
}
break;
case Tokens.TYPE_DOUBLE:
final double doubleValue = Double.parseDouble(built.substring(0, length - 1));
if (Double.isFinite(doubleValue)) {
// don't accept NaN and Infinity
return new DoubleTag(doubleValue);
}
break;
}
} catch (final NumberFormatException ignored) {
}
} else if (noLongerNumericAt == -1) {
// if we run out of content without an explicit value separator, then we're either an integer or string tag -- all others have a character at the end
try {
return new IntTag(Integer.parseInt(built));
} catch (final NumberFormatException ex) {
if (built.indexOf('.') != -1) {
try {
return new DoubleTag(Double.parseDouble(built));
} catch (final NumberFormatException ex2) {
// ignore
}
}
}
}
if (built.equalsIgnoreCase(Tokens.LITERAL_TRUE)) {
return new ByteTag((byte) 1);
} else if (built.equalsIgnoreCase(Tokens.LITERAL_FALSE)) {
return new ByteTag((byte) 0);
}
return new StringTag(built);
}
Aggregations