diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b5fbd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/build/ +/.gradle/ +/.idea/ +/run/ diff --git a/build.gradle b/build.gradle index 3fc6d0e..9540e66 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' group = 'floris0106' -version = '1.2.1' +version = '1.2.2' java { archivesBaseName = 'rereskillablerereforked' @@ -30,6 +30,9 @@ minecraft { property 'forge.logging.markers', 'REGISTRIES' property 'forge.logging.console.level', 'debug' + property 'mixin.env.disableRefMap', 'true' + property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg" + mods { rereskillablerereforked { source sourceSets.main @@ -57,10 +60,18 @@ repositories { maven { url = 'https://maven.theillusivec4.top/' } + maven { + url = 'https://cursemaven.com/' + } } dependencies { - minecraft 'net.minecraftforge:forge:1.16.5-36.2.4' + //minecraft 'net.minecraftforge:forge:1.16.5-36.2.4' + minecraft 'net.minecraftforge:forge:1.16.5-36.2.39' + + implementation fg.deobf('curse.maven:obfuscate-289380:3740120') + implementation fg.deobf("curse.maven:sorceryfight-471288:3786954") + implementation fg.deobf("curse.maven:jujutsuanimation-817073:4360873") runtimeOnly fg.deobf('top.theillusivec4.curios:curios-forge:1.16.5-4.0.5.3') compileOnly fg.deobf('top.theillusivec4.curios:curios-forge:1.16.5-4.0.5.3:api') diff --git a/src/main/java/floris0106/rereskillablerereforked/RereskillableRereforked.java b/src/main/java/floris0106/rereskillablerereforked/RereskillableRereforked.java index 4a4d7bc..da05e74 100644 --- a/src/main/java/floris0106/rereskillablerereforked/RereskillableRereforked.java +++ b/src/main/java/floris0106/rereskillablerereforked/RereskillableRereforked.java @@ -26,7 +26,6 @@ import net.minecraftforge.fml.network.NetworkDirection; import net.minecraftforge.fml.network.NetworkRegistry; import net.minecraftforge.fml.network.simple.SimpleChannel; - import java.util.Optional; @Mod(RereskillableRereforked.MOD_ID) diff --git a/src/main/java/floris0106/rereskillablerereforked/common/EventHandler.java b/src/main/java/floris0106/rereskillablerereforked/common/EventHandler.java index cb14918..8e0ee76 100644 --- a/src/main/java/floris0106/rereskillablerereforked/common/EventHandler.java +++ b/src/main/java/floris0106/rereskillablerereforked/common/EventHandler.java @@ -1,5 +1,7 @@ package floris0106.rereskillablerereforked.common; +import floris0106.rereskillablerereforked.RereskillableRereforked; +import floris0106.rereskillablerereforked.common.capabilities.SkillCapability; import floris0106.rereskillablerereforked.common.capabilities.SkillModel; import floris0106.rereskillablerereforked.common.capabilities.SkillProvider; import floris0106.rereskillablerereforked.common.item.Items; @@ -148,11 +150,15 @@ public void onAttachCapabilities(AttachCapabilitiesEvent event) { if (event.getObject() instanceof PlayerEntity) { - SkillModel skillModel = new SkillModel(); - SkillProvider provider = new SkillProvider(skillModel); - - event.addCapability(new ResourceLocation("rereskillable", "cap_skills"), provider); + if(!event.getObject().getCapability(SkillCapability.INSTANCE).isPresent()) { + SkillModel skillModel = new SkillModel(); + SkillProvider provider = new SkillProvider(skillModel); + event.addCapability(new ResourceLocation("rereskillable", "cap_skills"), provider); + } + /* + (don't know what this does, first time messing with forge) event.addListener(provider::invalidate); + */ } } @@ -187,11 +193,18 @@ public void onAdvancement(AdvancementEvent event) event.getPlayer().addItem(new ItemStack(Items.SKILL_FRAGMENT.get(), fragments)); } } - + @SubscribeEvent public void onPlayerClone(PlayerEvent.Clone event) { - SkillModel.get(event.getPlayer()).skillLevels = SkillModel.get(event.getOriginal()).skillLevels; + if(event.isWasDeath()){ + event.getOriginal().revive(); + event.getOriginal().getCapability(SkillCapability.INSTANCE).ifPresent(oldStore -> { + event.getPlayer().getCapability(SkillCapability.INSTANCE).ifPresent(newStore -> { + newStore.copyFrom(oldStore); + }); + }); + } } @SubscribeEvent diff --git a/src/main/java/floris0106/rereskillablerereforked/common/capabilities/SkillModel.java b/src/main/java/floris0106/rereskillablerereforked/common/capabilities/SkillModel.java index 9d4e42a..e1aff00 100644 --- a/src/main/java/floris0106/rereskillablerereforked/common/capabilities/SkillModel.java +++ b/src/main/java/floris0106/rereskillablerereforked/common/capabilities/SkillModel.java @@ -113,4 +113,8 @@ public void deserializeNBT(CompoundNBT nbt) skillLevels[6] = nbt.getInt("agility"); skillLevels[7] = nbt.getInt("magic"); } + + public void copyFrom(SkillModel oldStore) { + this.skillLevels = oldStore.skillLevels; + } } \ No newline at end of file