diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
4 files changed, 18 insertions, 12 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java index 526ac885..1df75de0 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java @@ -21,7 +21,7 @@ public class SkyblockerEMIPlugin implements EmiPlugin { @Override public void register(EmiRegistry registry) { - ItemRegistry.getRecipeResultsStream().map(EmiStack::of).forEach(registry::addEmiStack); + ItemRegistry.getItemsStream().map(EmiStack::of).forEach(registry::addEmiStack); registry.addCategory(SKYBLOCK); registry.addWorkstation(SKYBLOCK, EmiStack.of(Items.CRAFTING_TABLE)); ItemRegistry.getRecipesStream().map(SkyblockEmiRecipe::new).forEach(registry::addRecipe); diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java index 5c97a274..32f0bd85 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java @@ -29,6 +29,6 @@ public class SkyblockerREIClientPlugin implements REIClientPlugin { @Override public void registerEntries(EntryRegistry entryRegistry) { - entryRegistry.addEntries(ItemRegistry.getRecipeResultsStream().map(EntryStacks::of).toList()); + entryRegistry.addEntries(ItemRegistry.getItemsStream().map(EntryStacks::of).toList()); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java index 426e807b..5eb9e488 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java @@ -7,6 +7,8 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.text.Text; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; @@ -19,6 +21,7 @@ import java.util.Map; import java.util.stream.Stream; public class ItemRegistry { + protected static final Logger LOGGER = LoggerFactory.getLogger(ItemRegistry.class); protected static final Path ITEM_LIST_DIR = NEURepo.LOCAL_REPO_DIR.resolve("items"); protected static final List<ItemStack> items = new ArrayList<>(); @@ -46,7 +49,7 @@ public class ItemRegistry { String fileContent = Files.readString(path); jsonObjs.add(JsonParser.parseString(fileContent).getAsJsonObject()); } catch (Exception e) { - e.printStackTrace(); + LOGGER.error("Failed to read file " + path, e); } } @@ -87,8 +90,10 @@ public class ItemRegistry { return fileJson.get("info").getAsJsonArray().get(0).getAsString(); } } catch (IOException | NullPointerException e) { - e.printStackTrace(); - client.player.sendMessage(Text.of("Can't locate a wiki article for this item..."), false); + LOGGER.error("Failed to read item file " + internalName + ".json", e); + if (client.player != null) { + client.player.sendMessage(Text.of("Can't locate a wiki article for this item..."), false); + } return null; } } @@ -110,8 +115,8 @@ public class ItemRegistry { return recipes.stream(); } - public static Stream<ItemStack> getRecipeResultsStream() { - return recipes.stream().map(SkyblockCraftingRecipe::getResult); + public static Stream<ItemStack> getItemsStream() { + return items.stream(); } /** diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java index 9808cfc7..8028099a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java @@ -25,7 +25,7 @@ public class ItemStackBuilder { try { petNums = JsonParser.parseString(Files.readString(PETNUMS_PATH)).getAsJsonObject(); } catch (Exception e) { - e.printStackTrace(); + ItemRegistry.LOGGER.error("Failed to load petnums.json"); } } @@ -62,11 +62,12 @@ public class ItemStackBuilder { String nbttag = obj.get("nbttag").getAsString(); // add skull texture - Matcher skullMatcher = Pattern.compile("SkullOwner:\\{Id:\"(.{36})\",Properties:\\{textures:\\[0:\\{Value:\"(.+)\"}]}}").matcher(nbttag); - if (skullMatcher.find()) { + Matcher skullUuid = Pattern.compile("(?<=SkullOwner:\\{)Id:\"(.{36})\"").matcher(nbttag); + Matcher skullTexture = Pattern.compile("(?<=Properties:\\{textures:\\[0:\\{Value:)\"(.+?)\"").matcher(nbttag); + if (skullUuid.find() && skullTexture.find()) { NbtCompound skullOwner = new NbtCompound(); tag.put("SkullOwner", skullOwner); - UUID uuid = UUID.fromString(skullMatcher.group(1)); + UUID uuid = UUID.fromString(skullUuid.group(1)); skullOwner.put("Id", NbtHelper.fromUuid(uuid)); skullOwner.put("Name", NbtString.of(internalName)); @@ -76,7 +77,7 @@ public class ItemStackBuilder { properties.put("textures", textures); NbtCompound texture = new NbtCompound(); textures.add(texture); - texture.put("Value", NbtString.of(skullMatcher.group(2))); + texture.put("Value", NbtString.of(skullTexture.group(1))); } // add leather armor dye color Matcher colorMatcher = Pattern.compile("color:(\\d+)").matcher(nbttag); |