diff --git a/build.gradle b/build.gradle index a8308a5..8ae1306 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '0.10-SNAPSHOT' + id 'fabric-loom' version '0.11-SNAPSHOT' } sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 @@ -47,4 +47,4 @@ tasks.withType(JavaCompile).configureEach { configurations.modImplementation { exclude group: 'club.minnced' // fuck you -} \ No newline at end of file +} diff --git a/gradle.properties b/gradle.properties index 33d41ce..92b5360 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,12 +1,12 @@ org.gradle.jvmargs=-Xmx2G # Fabric (https://fabricmc.net/versions.html) -minecraft_version=1.18.1 -yarn_mappings=1.18.1+build.14 -loader_version=0.12.12 +minecraft_version=1.18.2 +yarn_mappings=1.18.2+build.1 +loader_version=0.13.3 # Mod Properties -mod_version=1.2.1 +mod_version=1.2.2 maven_group=meteordevelopment.addons archives_base_name=villager-roller diff --git a/src/main/java/maxsuperman/addons/roller/mixins/VillagerInteractMixin.java b/src/main/java/maxsuperman/addons/roller/mixins/VillagerInteractMixin.java index 710166b..d87e7cb 100644 --- a/src/main/java/maxsuperman/addons/roller/mixins/VillagerInteractMixin.java +++ b/src/main/java/maxsuperman/addons/roller/mixins/VillagerInteractMixin.java @@ -15,9 +15,9 @@ class VillagerInteractMixin { public void interactMob(CallbackInfoReturnable cir) { VillagerRoller roller = Modules.get().get(VillagerRoller.class); if (VillagerRoller.currentState == VillagerRoller.State.WaitingForTargetVillager) { + VillagerRoller.currentState = VillagerRoller.State.RollingBreakingBlock; roller.rollingVillager = (VillagerEntity) (Object) this; roller.info("We got your villager"); - VillagerRoller.currentState = VillagerRoller.State.RollingBreakingBlock; cir.setReturnValue(ActionResult.CONSUME); cir.cancel(); } diff --git a/src/main/java/maxsuperman/addons/roller/modules/VillagerRoller.java b/src/main/java/maxsuperman/addons/roller/modules/VillagerRoller.java index 7f3e3f1..99f023e 100644 --- a/src/main/java/maxsuperman/addons/roller/modules/VillagerRoller.java +++ b/src/main/java/maxsuperman/addons/roller/modules/VillagerRoller.java @@ -60,6 +60,12 @@ public class VillagerRoller extends Module { .defaultValue(true) .build()); + private final Setting saveListToConfig = sgGeneral.add(new BoolSetting.Builder() + .name("save-list-to-config") + .description("Toggles saving and loading of rolling list to config and copypaste buffer") + .defaultValue(true) + .build()); + private final Setting enablePlaySound = sgGeneral.add(new BoolSetting.Builder() .name("enable-sound") .description("Plays sound when it finds desired trade") @@ -117,7 +123,7 @@ public enum State { public Block rollingBlock; public VillagerEntity rollingVillager; public List searchingEnchants = new ArrayList(); - + public VillagerRoller() { super(Categories.Misc, "villager-roller", "Rolls trades."); } @@ -142,27 +148,31 @@ public String getInfoString() { @Override public NbtCompound toTag() { NbtCompound tag = super.toTag(); - NbtList l = new NbtList(); - for (rollingEnchantment e : searchingEnchants) { - l.add(e.toTag()); + if (saveListToConfig.get()) { + NbtList l = new NbtList(); + for (rollingEnchantment e : searchingEnchants) { + l.add(e.toTag()); + } + tag.put("rolling", l); } - tag.put("rolling", l); return tag; } @Override public Module fromTag(NbtCompound tag) { - NbtList l = tag.getList("rolling", NbtElement.COMPOUND_TYPE); - searchingEnchants.clear(); - for (NbtElement e : l) { - if (e.getType() != NbtElement.COMPOUND_TYPE) { - info("Invalid list element"); - continue; + super.fromTag(tag); + if (saveListToConfig.get()) { + NbtList l = tag.getList("rolling", NbtElement.COMPOUND_TYPE); + searchingEnchants.clear(); + for (NbtElement e : l) { + if (e.getType() != NbtElement.COMPOUND_TYPE) { + info("Invalid list element"); + continue; + } + searchingEnchants.add(new rollingEnchantment().fromTag((NbtCompound) e)); } - searchingEnchants.add(new rollingEnchantment().fromTag((NbtCompound) e)); } - - return super.fromTag(tag); + return this; } public boolean loadSearchingFromFile(File f) { @@ -220,7 +230,7 @@ private void fillWidget(GuiTheme theme, WVerticalList list) { WSection loadDataSection = list.add(theme.section("Config Saving")).expandX().widget(); WTable control = loadDataSection.add(theme.table()).expandX().widget(); - + WTextBox nfname = control.add(theme.textBox("default")).expandWidgetX().expandCellX().expandX().widget(); WButton save = control.add(theme.button("Save")).expandX().widget(); save.action = () -> { @@ -336,7 +346,7 @@ private void fillWidget(GuiTheme theme, WVerticalList list) { fillWidget(theme, list); }; - + table.row(); } @@ -364,7 +374,7 @@ public void initWidgets() { WButton a = table.add(theme.button("Select")).widget(); a.action = () -> { callback.Selection(e); - onClose(); + close(); }; table.row(); } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 44e48fe..fb838c5 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -24,7 +24,7 @@ ], "depends": { "java": "17", - "minecraft": "1.18.1", + "minecraft": "1.18.2", "meteor-client": ">0.4.5" } }