Skip to content

Commit

Permalink
Fixed double parsing in NBT helper
Browse files Browse the repository at this point in the history
  • Loading branch information
Pedro270707 committed Jan 24, 2024
1 parent 2bb1796 commit b45130b
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 4 deletions.
Binary file not shown.
11 changes: 11 additions & 0 deletions src/main/java/net/pedroricardo/commander/Commander.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package net.pedroricardo.commander;

import com.google.gson.JsonObject;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import net.fabricmc.api.DedicatedServerModInitializer;
import net.fabricmc.api.ModInitializer;
import net.minecraft.core.net.command.TextFormatting;
Expand All @@ -11,6 +12,7 @@
import turniplabs.halplibe.helper.NetworkHelper;
import turniplabs.halplibe.util.GameStartEntrypoint;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;

Expand Down Expand Up @@ -38,6 +40,15 @@ public void onInitialize() {
ARGUMENT_STYLES.add(TextFormatting.ORANGE.toString());
NetworkHelper.register(CommandManagerPacket.class, false, true);
NetworkHelper.register(RequestCommandManagerPacket.class, true, false);
// try {
// System.out.println(NbtHelper.parseNbt("{Data1:16,Data2:\"hello\",Data3:[D;1.52,940.2,38.3],Data4:[B;1b,12b]}"));
// System.out.println(NbtHelper.parseNbt("{DataShort:23s,DataInt:39230,DataString:\"Hello!\"}"));
// System.out.println(NbtHelper.parseNbt("{DataBoolTrue:true,DataBoolFalse:false,DataByte:22b, DataShort : 51s, DataInt:42351, DataLong: 2934021941L, DataFloat: 3.1415926f, DataDouble: 22.543d, DataDoubleNoSuffix: 2942.43290}"));
// System.out.println(NbtHelper.parseNbt("{DataByteArray:[B;6b,12b,24b] ,DataShortArray:[S ; 20s , 40s , 63s ] , DataDoubleArray:[D ; 22.53, 239.43d, 39.4D]}"));
// System.out.println(NbtHelper.parseNbt("{DataList:[6b,12b,24b]}"));
// } catch (CommandSyntaxException e) {
// System.out.println(e.getMessage());
// }
}

@Override
Expand Down
12 changes: 8 additions & 4 deletions src/main/java/net/pedroricardo/commander/NbtHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.nbt.*;
import net.pedroricardo.commander.content.exceptions.CommanderExceptions;
import net.pedroricardo.commander.content.helpers.ArgumentParser;

import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -136,8 +135,13 @@ private static Tag<?> collection(StringReader reader) throws CommandSyntaxExcept
while (reader.canRead() && reader.peek() != ']') {
reader.skipWhitespace();
String doubleAsString = reader.readString();
if (!SHORT_PATTERN.matcher(doubleAsString).matches()) throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.readerExpectedSymbol().create("short");
double parsedDouble = Double.parseDouble(doubleAsString.substring(0, doubleAsString.length() - 1));
double parsedDouble;
if (DOUBLE_PATTERN.matcher(doubleAsString).matches()) {
parsedDouble = Double.parseDouble(doubleAsString.substring(0, doubleAsString.length() - 1));
} else if (DOUBLE_PATTERN_NO_SUFFIX.matcher(doubleAsString).matches()) {
parsedDouble = Double.parseDouble(doubleAsString);
}
else throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.readerExpectedDouble().create();
doubles.add(parsedDouble);
reader.skipWhitespace();
if (!reader.canRead() || reader.peek() != ',') break;
Expand Down Expand Up @@ -222,4 +226,4 @@ private static Tag<?> type(String string) {
}
return new StringTag(string);
}
}
}

0 comments on commit b45130b

Please sign in to comment.