From e51c31c7792e05a6e31b642f6ae46054b465dc9d Mon Sep 17 00:00:00 2001 From: alterNERDtive Date: Mon, 19 Jun 2023 12:11:48 +0200 Subject: [PATCH] ae2 auto crafting now working ootb --- CHANGELOG.md | 7 ++++ README.md | 1 + .../mixin/MixinPlayerResearchesData.java | 33 +++++++++++++++++++ .../resources/mixins.the_vault_tweaks.json | 1 + 4 files changed, 42 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 src/main/java/tv/alterNERD/VaultModTweaks/integration/mixin/MixinPlayerResearchesData.java diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..60e0a21 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# devel + +* fixed AE2 auto crafting needing NBT editing + +# 3.10.1.0 + +initial release for The Vault 3.10.1 \ No newline at end of file diff --git a/README.md b/README.md index 6eb6433..048107f 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ expertise reset after installing this mod. crafting) * Fake players can put Vault Rocks on the Altar again * Relic fragments \#5 are now equally as likely to drop as the others +* AE2 auto crafting no longer requires manually giving its fake player all research ## Changes diff --git a/src/main/java/tv/alterNERD/VaultModTweaks/integration/mixin/MixinPlayerResearchesData.java b/src/main/java/tv/alterNERD/VaultModTweaks/integration/mixin/MixinPlayerResearchesData.java new file mode 100644 index 0000000..82c5da5 --- /dev/null +++ b/src/main/java/tv/alterNERD/VaultModTweaks/integration/mixin/MixinPlayerResearchesData.java @@ -0,0 +1,33 @@ +package tv.alterNERD.VaultModTweaks.integration.mixin; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.Shadow; + +import iskallia.vault.init.ModConfigs; +import iskallia.vault.research.ResearchTree; +import iskallia.vault.research.type.Research; +import iskallia.vault.world.data.PlayerResearchesData; + +@Mixin(PlayerResearchesData.class) +public class MixinPlayerResearchesData { + @Shadow + private final Map playerMap = new HashMap(); + + @Overwrite(remap = false) + public ResearchTree getResearches(UUID uuid) { + return this.playerMap.computeIfAbsent(uuid, id -> { + ResearchTree tree = ResearchTree.empty(); + if (id.equals(UUID.fromString("41c82c87-7afb-4024-ba57-13d2c99cae77"))) { + for (Research research : ModConfigs.RESEARCHES.getAll()) { + tree.research(research); + } + } + return tree; + }); + } +} diff --git a/src/main/resources/mixins.the_vault_tweaks.json b/src/main/resources/mixins.the_vault_tweaks.json index 70731e0..e3965a0 100644 --- a/src/main/resources/mixins.the_vault_tweaks.json +++ b/src/main/resources/mixins.the_vault_tweaks.json @@ -8,6 +8,7 @@ "MixinCrystalBuddingConfig", "MixinEnchantmentEntry", "MixinExpertisesGuiConfig", + "MixinPlayerResearchesData", "MixinStageManager", "MixinUnidentifiedRelicFragmentsConfig", "MixinVaultAltarBlock",