From f55307867298d37b3cc39fce50ba3e75d4170fd1 Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Wed, 19 Feb 2020 21:16:12 -0500 Subject: [PATCH] [F] Fix GSON issue on actual client --- .../java/org/hydev/hyritone/SeedServerCache.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/hydev/hyritone/SeedServerCache.java b/src/main/java/org/hydev/hyritone/SeedServerCache.java index 30d89c89..c5726388 100644 --- a/src/main/java/org/hydev/hyritone/SeedServerCache.java +++ b/src/main/java/org/hydev/hyritone/SeedServerCache.java @@ -24,8 +24,9 @@ import baritone.api.utils.BetterBlockPos; import baritone.api.utils.Helper; import baritone.behavior.Behavior; import baritone.utils.PathRenderer; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.util.math.BlockPos; @@ -37,7 +38,6 @@ import org.apache.http.impl.client.HttpClients; import java.awt.*; import java.io.IOException; -import java.lang.reflect.Type; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -125,10 +125,17 @@ public class SeedServerCache extends Behavior try (CloseableHttpResponse response = http.execute(get)) { - ArrayList blocks = new Gson().fromJson(IOUtils.toString(response.getEntity().getContent(), UTF_8), blocksType); // Exited if (mc.world == null) return; + ArrayList blocks = new ArrayList<>(); + JsonArray array = new JsonParser().parse(IOUtils.toString(response.getEntity().getContent(), UTF_8)).getAsJsonArray(); + array.forEach(j -> + { + JsonObject obj = j.getAsJsonObject(); + blocks.add(new BlockPos(obj.get("x").getAsInt(), obj.get("y").getAsInt(), obj.get("z").getAsInt())); + }); + // Only add it if it is not air in the client world cacheBlocks = blocks.stream().filter(b -> !mc.world.getBlockState(b).isAir()).collect(toList());