From 07ea77ff7b5928584c7b249df7fc5a8765412626 Mon Sep 17 00:00:00 2001 From: "max." Date: Sun, 5 Oct 2025 17:09:54 +0200 Subject: [PATCH] Update dependencies, update to KubeJS 7.2 --- build.gradle.kts | 6 ++++++ gradle.properties | 12 ++++++------ .../com/almostreliable/lootjs/kube/LootJSPlugin.java | 10 +++++----- .../lootjs/kube/wrappers/BasicWrapper.java | 8 ++++---- .../lootjs/kube/wrappers/ItemFilterWrapper.java | 10 +++++----- .../lootjs/kube/wrappers/LootEntryWrapper.java | 12 ++++++------ src/test/java/testmod/mixin/ScriptManagerMixin.java | 2 +- 7 files changed, 33 insertions(+), 27 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 05b6908..2e3d85f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,6 +6,12 @@ plugins { repositories { maven("https://maven.latvian.dev/releases") maven("https://www.cursemaven.com") + maven { + setUrl("https://jitpack.io") + content { + includeGroup("com.github.rtyley") + } + } } almostgradle.setup { diff --git a/gradle.properties b/gradle.properties index 545203c..323b125 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,19 +10,19 @@ modDescription = Modify loot through KubeJS. # Common minecraftVersion = 1.21.1 -neoforgeVersion = 21.1.93 -kubejsVersion = 2101.7.0-build.131 +neoforgeVersion = 21.1.209 +kubejsVersion = 2101.7.2-build.264 # AlmostGradle almostgradle.launchArgs.resizeClient = true almostgradle.launchArgs.autoWorldJoin = true -almostgradle.recipeViewers.emi.version = 1.1.12 -almostgradle.recipeViewers.emi.minecraftVersion = 1.21 +almostgradle.recipeViewers.emi.version = 1.1.22 +almostgradle.recipeViewers.emi.minecraftVersion = 1.21.1 # Parchment -neoForge.parchment.minecraftVersion = 1.21 -neoForge.parchment.mappingsVersion = 2024.07.07 +neoForge.parchment.minecraftVersion = 1.21.1 +neoForge.parchment.mappingsVersion = 2024.11.17 # Gradle org.gradle.jvmargs = -Xmx3G diff --git a/src/main/java/com/almostreliable/lootjs/kube/LootJSPlugin.java b/src/main/java/com/almostreliable/lootjs/kube/LootJSPlugin.java index d980ecb..076a83f 100644 --- a/src/main/java/com/almostreliable/lootjs/kube/LootJSPlugin.java +++ b/src/main/java/com/almostreliable/lootjs/kube/LootJSPlugin.java @@ -16,9 +16,9 @@ import com.almostreliable.lootjs.util.BlockFilter; import dev.latvian.mods.kubejs.block.state.BlockStatePredicate; import dev.latvian.mods.kubejs.event.EventGroupRegistry; -import dev.latvian.mods.kubejs.item.ItemStackJS; -import dev.latvian.mods.kubejs.item.ingredient.IngredientJS; import dev.latvian.mods.kubejs.plugin.KubeJSPlugin; +import dev.latvian.mods.kubejs.plugin.builtin.wrapper.IngredientWrapper; +import dev.latvian.mods.kubejs.plugin.builtin.wrapper.ItemWrapper; import dev.latvian.mods.kubejs.script.BindingRegistry; import dev.latvian.mods.kubejs.script.ConsoleJS; import dev.latvian.mods.kubejs.script.TypeDescriptionRegistry; @@ -100,9 +100,9 @@ public void registerTypeWrappers(TypeWrapperRegistry registry) { @Override public void registerTypeDescriptions(TypeDescriptionRegistry registry) { - registry.register(ItemFilter.class, TypeInfo.of(ItemFilter.class).or(IngredientJS.TYPE_INFO)); - registry.register(LootEntry.class, TypeInfo.of(LootEntry.class).or(ItemStackJS.TYPE_INFO)); - registry.register(SingleLootEntry.class, TypeInfo.of(SingleLootEntry.class).or(ItemStackJS.TYPE_INFO)); + registry.register(ItemFilter.class, TypeInfo.of(ItemFilter.class).or(IngredientWrapper.TYPE_INFO)); + registry.register(LootEntry.class, TypeInfo.of(LootEntry.class).or(ItemWrapper.TYPE_INFO)); + registry.register(SingleLootEntry.class, TypeInfo.of(SingleLootEntry.class).or(ItemWrapper.TYPE_INFO)); registry.register(BlockFilter.class, TypeInfo.of(BlockFilter.class).or(TypeInfo.of(BlockStatePredicate.class))); registry.register(IdFilter.class, TypeInfo.of(IdFilter.class).or(TypeInfo.STRING).or(TypeInfo.of(Pattern.class))); diff --git a/src/main/java/com/almostreliable/lootjs/kube/wrappers/BasicWrapper.java b/src/main/java/com/almostreliable/lootjs/kube/wrappers/BasicWrapper.java index a4313ac..e010cdd 100644 --- a/src/main/java/com/almostreliable/lootjs/kube/wrappers/BasicWrapper.java +++ b/src/main/java/com/almostreliable/lootjs/kube/wrappers/BasicWrapper.java @@ -7,9 +7,9 @@ import com.almostreliable.lootjs.util.Utils; import com.mojang.serialization.MapCodec; import dev.latvian.mods.kubejs.block.state.BlockStatePredicate; +import dev.latvian.mods.kubejs.plugin.builtin.wrapper.NBTWrapper; import dev.latvian.mods.kubejs.script.ConsoleJS; import dev.latvian.mods.kubejs.script.KubeJSContext; -import dev.latvian.mods.kubejs.util.NBTUtils; import dev.latvian.mods.kubejs.util.RegExpKJS; import dev.latvian.mods.kubejs.util.RegistryAccessContainer; import dev.latvian.mods.rhino.Context; @@ -41,12 +41,12 @@ public class BasicWrapper { .of(HolderSet.class) .withParams(TypeInfo.of(EntityType.class)); - public static BlockFilter ofBlockFilter(RegistryAccessContainer registries, Object o) { + public static BlockFilter ofBlockFilter(Context cx, Object o) { if (o instanceof BlockFilter bf) { return bf; } - BlockStatePredicate bsp = BlockStatePredicate.of(registries, o); + BlockStatePredicate bsp = BlockStatePredicate.wrap(cx, o); return new BlockFilter() { @NotNull @Override @@ -67,7 +67,7 @@ public static NbtPredicate ofNbtPredicate(Context cx, Object o, TypeInfo target) } if (o instanceof Map map) { - return new NbtPredicate((CompoundTag) NBTUtils.compoundTag(cx, map)); + return new NbtPredicate((CompoundTag) NBTWrapper.compoundTag(cx, map)); } return new NbtPredicate(new CompoundTag()); diff --git a/src/main/java/com/almostreliable/lootjs/kube/wrappers/ItemFilterWrapper.java b/src/main/java/com/almostreliable/lootjs/kube/wrappers/ItemFilterWrapper.java index c4216c2..e3b5e18 100644 --- a/src/main/java/com/almostreliable/lootjs/kube/wrappers/ItemFilterWrapper.java +++ b/src/main/java/com/almostreliable/lootjs/kube/wrappers/ItemFilterWrapper.java @@ -2,8 +2,8 @@ import com.almostreliable.lootjs.core.filters.ItemFilter; import com.almostreliable.lootjs.core.filters.ItemFilterImpl; -import dev.latvian.mods.kubejs.item.ingredient.IngredientJS; -import dev.latvian.mods.kubejs.util.RegistryAccessContainer; +import dev.latvian.mods.kubejs.plugin.builtin.wrapper.IngredientWrapper; +import dev.latvian.mods.rhino.Context; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; @@ -17,7 +17,7 @@ public class ItemFilterWrapper { - private static ItemFilter ofItemFilterSingle(RegistryAccessContainer cx, @Nullable Object o) { + private static ItemFilter ofItemFilterSingle(Context cx, @Nullable Object o) { if (o instanceof ItemFilter i) return i; if (o instanceof String str && !str.isEmpty()) { @@ -40,7 +40,7 @@ private static ItemFilter ofItemFilterSingle(RegistryAccessContainer cx, @Nullab } } - Ingredient ingredient = IngredientJS.wrap(cx, o); + Ingredient ingredient = IngredientWrapper.wrap(cx, o); if (ingredient.isEmpty()) { return ItemFilter.EMPTY; } @@ -48,7 +48,7 @@ private static ItemFilter ofItemFilterSingle(RegistryAccessContainer cx, @Nullab return new ItemFilterImpl.ByIngredient(ingredient); } - public static ItemFilter ofItemFilter(RegistryAccessContainer cx, Object o) { + public static ItemFilter ofItemFilter(Context cx, Object o) { if (o instanceof List list) { List filters = new ArrayList<>(list.size()); for (Object entry : list) { diff --git a/src/main/java/com/almostreliable/lootjs/kube/wrappers/LootEntryWrapper.java b/src/main/java/com/almostreliable/lootjs/kube/wrappers/LootEntryWrapper.java index dd4fdee..eb1f0bf 100644 --- a/src/main/java/com/almostreliable/lootjs/kube/wrappers/LootEntryWrapper.java +++ b/src/main/java/com/almostreliable/lootjs/kube/wrappers/LootEntryWrapper.java @@ -2,21 +2,21 @@ import com.almostreliable.lootjs.core.entry.ItemLootEntry; import com.almostreliable.lootjs.core.entry.LootEntry; -import dev.latvian.mods.kubejs.item.ItemStackJS; +import dev.latvian.mods.kubejs.plugin.builtin.wrapper.ItemWrapper; import dev.latvian.mods.kubejs.script.ConsoleJS; -import dev.latvian.mods.kubejs.util.RegistryAccessContainer; +import dev.latvian.mods.rhino.Context; import net.minecraft.world.item.ItemStack; import javax.annotation.Nullable; public class LootEntryWrapper { - public static ItemLootEntry ofItemLootEntry(RegistryAccessContainer registries, @Nullable Object o) { + public static ItemLootEntry ofItemLootEntry(Context cx, @Nullable Object o) { if (o instanceof ItemLootEntry e) { return e; } - ItemStack itemStack = ItemStackJS.wrap(registries, o); + ItemStack itemStack = ItemWrapper.wrap(cx, o); if (itemStack.isEmpty()) { ConsoleJS.SERVER.error("[LootEntry.of()] Invalid item stack, returning empty stack: " + o); ConsoleJS.SERVER.error("- Consider using `LootEntry.empty()` if you want to create an empty loot entry."); @@ -26,7 +26,7 @@ public static ItemLootEntry ofItemLootEntry(RegistryAccessContainer registries, return LootEntry.of(itemStack); } - public static LootEntry ofLootEntry(RegistryAccessContainer registries, @Nullable Object o) { + public static LootEntry ofLootEntry(Context cx, @Nullable Object o) { if (o instanceof LootEntry entry) { return entry; } @@ -36,6 +36,6 @@ public static LootEntry ofLootEntry(RegistryAccessContainer registries, @Nullabl return LootEntry.tag(tag, false); } - return ofItemLootEntry(registries, o); + return ofItemLootEntry(cx, o); } } diff --git a/src/test/java/testmod/mixin/ScriptManagerMixin.java b/src/test/java/testmod/mixin/ScriptManagerMixin.java index c8e6494..6c6fea3 100644 --- a/src/test/java/testmod/mixin/ScriptManagerMixin.java +++ b/src/test/java/testmod/mixin/ScriptManagerMixin.java @@ -26,7 +26,7 @@ public abstract class ScriptManagerMixin { @Shadow public abstract void collectScripts(ScriptPack pack, Path dir, String path); - @Inject(method = "reload", at = @At(value = "INVOKE", target = "Ldev/latvian/mods/kubejs/script/ScriptManager;load()V")) + @Inject(method = "reload", at = @At(value = "INVOKE", target = "Ldev/latvian/mods/kubejs/script/ScriptManager;load(J)V")) private void testmod$test(CallbackInfo ci) { if (scriptType != ScriptType.SERVER) { return;