aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle6
-rw-r--r--gradle.properties2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java15
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java11
6 files changed, 25 insertions, 13 deletions
diff --git a/build.gradle b/build.gradle
index 9697588d..905745e7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -29,7 +29,8 @@ repositories {
url = "https://maven.meteordev.org/releases"
}
maven { url "https://repo.codemc.io/repository/maven-public/" } // For Occlusion Culling library
- maven {url "https://jitpack.io"}
+ maven { url "https://repo.nea.moe/releases" } // For neu repoparser
+ maven { url "https://jitpack.io" }
}
dependencies {
@@ -78,6 +79,9 @@ dependencies {
// Occlusion Culling (https://github.com/LogisticsCraft/OcclusionCulling)
include implementation("com.logisticscraft:occlusionculling:${project.occlusionculling_version}")
+
+ // neu repoparser | implement it if this is being used
+ // include implementation("moe.nea:neurepoparser:${project.repoparser_version}")
}
base {
diff --git a/gradle.properties b/gradle.properties
index e85642ad..bf3bd115 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -29,6 +29,8 @@ mixin_extras_version=0.2.0-beta.9
betterinject_version=0.1.3
## Occlusion Culling (https://github.com/LogisticsCraft/OcclusionCulling)
occlusionculling_version = 0.0.7-SNAPSHOT
+## neu repoparser (https://repo.nea.moe/#/releases/moe/nea/neurepoparser/)
+repoparser_version = 1.3.2
# Mod Properties
mod_version = 1.13.0
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);