From e60ef9232a4051e0a0f16a6b3f4dac03cdf74bb6 Mon Sep 17 00:00:00 2001
From: Leclowndu93150 <xdr.a123454321@gmail.com>
Date: Sat, 28 Sep 2024 12:21:58 +0200
Subject: [PATCH] fix speed modifier broken after code refactoring

---
 gradle.properties                               |  2 +-
 .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e    | 10 +++++-----
 .../recipe/smithing/inertia_module.json         |  4 +++-
 .../recipe/smithing/mining_module.json          |  4 +++-
 .../recipe/smithing/night_vision_module.json    |  4 +++-
 .../recipe/smithing/speed_module.json           |  4 +++-
 .../modular_angelring/common/AngelRingItem.java | 17 ++++++++++++-----
 .../events/AngelRingEvents.java                 | 15 ---------------
 .../recipes/ModularRingRecipes.java             |  8 ++++----
 9 files changed, 34 insertions(+), 34 deletions(-)

diff --git a/gradle.properties b/gradle.properties
index 0dbd192..850573b 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -35,7 +35,7 @@ mod_name=Modular Angel Ring
 
 mod_license=All Rights Reserved
 
-mod_version=1.4.1
+mod_version=1.4.3
 
 mod_group_id=com.leclowndu93150.modular_angelring
 
diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
index b945bde..3d8cccb 100644
--- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
+++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
@@ -1,4 +1,4 @@
-// 1.21	2024-07-30T20:04:02.1024129	Recipes
+// 1.21	2024-09-27T14:08:04.8843043	Recipes
 f17592b4c061b661cf746015e75f22fcf01645b6 data/modular_angelring/advancement/recipes/misc/shapeless/bat_wings.json
 60e10bfceda809b0d29bccfbf515bbc8108d0a36 data/modular_angelring/advancement/recipes/misc/shapeless/big_dragon_wings.json
 77aaca00c49d23276780e641d94ace386e07d571 data/modular_angelring/advancement/recipes/misc/shapeless/blue_dragon_wings.json
@@ -36,10 +36,10 @@ af726588555948e0f0e6e4845b1dab4f6d49eb07 data/modular_angelring/recipe/smithing/
 d6169c70ce43550d661b37da27a0fa0477721504 data/modular_angelring/recipe/smithing/golden_ring.json
 4024587a665571a880a0a1ccad9dd4893952329b data/modular_angelring/recipe/smithing/gold_ring.json
 4a64dbc2945e0dc540683f0887cabe80f44f6b84 data/modular_angelring/recipe/smithing/inertia_modifier.json
-c5dc2b2592e671c413a9a829934d4499e5d361a1 data/modular_angelring/recipe/smithing/inertia_module.json
+f723b74516ad6291d383ea3ed969fb8d8f0b74c9 data/modular_angelring/recipe/smithing/inertia_module.json
 d1a7a0ceb72cb10c980a74abad99a4dc9763577a data/modular_angelring/recipe/smithing/mining_modifier.json
-f685d562402e5a1cc2005ab166d2c9b2d0a43c81 data/modular_angelring/recipe/smithing/mining_module.json
+dffda0873204dc6b8b028a592e99464874b6e918 data/modular_angelring/recipe/smithing/mining_module.json
 b95080909de0a567e64cf73bad4f9cba45d063b8 data/modular_angelring/recipe/smithing/night_vision_modifier.json
-a583373da457971bb320680107353d2ea8a86fe7 data/modular_angelring/recipe/smithing/night_vision_module.json
+b67736dd56650939547b66fade466f9266840921 data/modular_angelring/recipe/smithing/night_vision_module.json
 cd4540c2177dc441f76ac5b854f48888b19dd510 data/modular_angelring/recipe/smithing/speed_modifier.json
-79ab4bc8ccf70b42ce30c72323509331f6398a71 data/modular_angelring/recipe/smithing/speed_module.json
+b3023c9aeb7c4a23559963ba74e50873acb2aefc data/modular_angelring/recipe/smithing/speed_module.json
diff --git a/src/generated/resources/data/modular_angelring/recipe/smithing/inertia_module.json b/src/generated/resources/data/modular_angelring/recipe/smithing/inertia_module.json
index 8845096..054518f 100644
--- a/src/generated/resources/data/modular_angelring/recipe/smithing/inertia_module.json
+++ b/src/generated/resources/data/modular_angelring/recipe/smithing/inertia_module.json
@@ -10,5 +10,7 @@
     "count": 1,
     "id": "modular_angelring:inertia_module"
   },
-  "template": []
+  "template": {
+    "item": "modular_angelring:angel_ring_upgrade_smithing_template"
+  }
 }
\ No newline at end of file
diff --git a/src/generated/resources/data/modular_angelring/recipe/smithing/mining_module.json b/src/generated/resources/data/modular_angelring/recipe/smithing/mining_module.json
index 9a5cf32..7fe5c45 100644
--- a/src/generated/resources/data/modular_angelring/recipe/smithing/mining_module.json
+++ b/src/generated/resources/data/modular_angelring/recipe/smithing/mining_module.json
@@ -10,5 +10,7 @@
     "count": 1,
     "id": "modular_angelring:mining_module"
   },
-  "template": []
+  "template": {
+    "item": "modular_angelring:angel_ring_upgrade_smithing_template"
+  }
 }
\ No newline at end of file
diff --git a/src/generated/resources/data/modular_angelring/recipe/smithing/night_vision_module.json b/src/generated/resources/data/modular_angelring/recipe/smithing/night_vision_module.json
index e3db94c..786f27e 100644
--- a/src/generated/resources/data/modular_angelring/recipe/smithing/night_vision_module.json
+++ b/src/generated/resources/data/modular_angelring/recipe/smithing/night_vision_module.json
@@ -10,5 +10,7 @@
     "count": 1,
     "id": "modular_angelring:night_vision_module"
   },
-  "template": []
+  "template": {
+    "item": "modular_angelring:angel_ring_upgrade_smithing_template"
+  }
 }
\ No newline at end of file
diff --git a/src/generated/resources/data/modular_angelring/recipe/smithing/speed_module.json b/src/generated/resources/data/modular_angelring/recipe/smithing/speed_module.json
index 483e224..80b35fa 100644
--- a/src/generated/resources/data/modular_angelring/recipe/smithing/speed_module.json
+++ b/src/generated/resources/data/modular_angelring/recipe/smithing/speed_module.json
@@ -10,5 +10,7 @@
     "count": 1,
     "id": "modular_angelring:speed_module"
   },
-  "template": []
+  "template": {
+    "item": "modular_angelring:angel_ring_upgrade_smithing_template"
+  }
 }
\ No newline at end of file
diff --git a/src/main/java/com/leclowndu93150/modular_angelring/common/AngelRingItem.java b/src/main/java/com/leclowndu93150/modular_angelring/common/AngelRingItem.java
index dd5de6e..b99d0cf 100644
--- a/src/main/java/com/leclowndu93150/modular_angelring/common/AngelRingItem.java
+++ b/src/main/java/com/leclowndu93150/modular_angelring/common/AngelRingItem.java
@@ -54,19 +54,26 @@ public ItemStack getStack() {
                     public void curioTick(SlotContext slotContext) {
                         Player player = (Player) slotContext.entity();
                         Optional<SlotResult> slotResult = CuriosApi.getCuriosInventory(player).flatMap(handler -> handler.findFirstCurio(ItemRegistry.ANGEL_RING.get()));
-                        if(slotResult.isPresent()){
+
+                        if (slotResult.isPresent()) {
                             ItemStack angelRingStack = slotResult.get().stack();
-                            EnabledModifiersComponent data = stack.getOrDefault(DataComponentRegistry.MODIFIERS_ENABLED, EnabledModifiersComponent.EMPTY);
+                            EnabledModifiersComponent data = angelRingStack.getOrDefault(DataComponentRegistry.MODIFIERS_ENABLED, EnabledModifiersComponent.EMPTY);
+
+                            if (angelRingStack.has(DataComponentRegistry.SPEED_MODIFIER) &&
+                                    (player.getAbilities().getFlyingSpeed() != getSpeedModifier(angelRingStack) || !data.speedModifierEnabled())) {
 
-                            if (angelRingStack.has(DataComponentRegistry.SPEED_MODIFIER) && ((player.getAbilities().getFlyingSpeed() != getSpeedModifier(angelRingStack)) || !data.speedModifierEnabled())) {
                                 if (data.speedModifierEnabled()) {
-                                    player.getAbilities().setFlyingSpeed(getSpeedModifier(angelRingStack));
+                                    if (player.getAbilities().flying) {
+                                        player.getAbilities().setFlyingSpeed(getSpeedModifier(angelRingStack));
+                                    }
+                                } else {
+                                    player.getAbilities().setFlyingSpeed(0.05F);
                                 }
                             }
                         }
-
                     }
 
+
                     @Override
                     public void onEquip(SlotContext slotContext, ItemStack prevStack) {
                         Player player = (Player) slotContext.entity();
diff --git a/src/main/java/com/leclowndu93150/modular_angelring/events/AngelRingEvents.java b/src/main/java/com/leclowndu93150/modular_angelring/events/AngelRingEvents.java
index 525df74..4f94dfe 100644
--- a/src/main/java/com/leclowndu93150/modular_angelring/events/AngelRingEvents.java
+++ b/src/main/java/com/leclowndu93150/modular_angelring/events/AngelRingEvents.java
@@ -1,32 +1,17 @@
 package com.leclowndu93150.modular_angelring.events;
 
 import com.leclowndu93150.modular_angelring.AngelRingMain;
-import com.leclowndu93150.modular_angelring.common.AngelRingItem;
-import com.leclowndu93150.modular_angelring.common.AngelRingModules;
 import com.leclowndu93150.modular_angelring.common.EnabledModifiersComponent;
-import com.leclowndu93150.modular_angelring.networking.KeyPressedPayload;
 import com.leclowndu93150.modular_angelring.networking.PayloadActions;
 import com.leclowndu93150.modular_angelring.registry.DataComponentRegistry;
 import com.leclowndu93150.modular_angelring.registry.ItemRegistry;
-import com.leclowndu93150.modular_angelring.registry.KeyBindRegistry;
-import com.leclowndu93150.modular_angelring.utils.FlightSpeedPercentage;
-import net.minecraft.ChatFormatting;
-import net.minecraft.client.Minecraft;
-import net.minecraft.network.chat.Component;
-import net.minecraft.sounds.SoundEvents;
-import net.minecraft.sounds.SoundSource;
 import net.minecraft.world.entity.player.Player;
 import net.minecraft.world.item.ItemStack;
-import net.minecraft.world.level.Level;
 import net.minecraft.world.phys.Vec3;
-import net.neoforged.bus.api.EventPriority;
 import net.neoforged.bus.api.SubscribeEvent;
 import net.neoforged.fml.common.EventBusSubscriber;
-import net.neoforged.neoforge.client.event.InputEvent;
 import net.neoforged.neoforge.event.entity.player.PlayerEvent;
-import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
 import net.neoforged.neoforge.event.tick.PlayerTickEvent;
-import net.neoforged.neoforge.network.PacketDistributor;
 import top.theillusivec4.curios.api.CuriosApi;
 import top.theillusivec4.curios.api.SlotResult;
 
diff --git a/src/main/java/com/leclowndu93150/modular_angelring/recipes/ModularRingRecipes.java b/src/main/java/com/leclowndu93150/modular_angelring/recipes/ModularRingRecipes.java
index 475afcf..15652a5 100644
--- a/src/main/java/com/leclowndu93150/modular_angelring/recipes/ModularRingRecipes.java
+++ b/src/main/java/com/leclowndu93150/modular_angelring/recipes/ModularRingRecipes.java
@@ -57,19 +57,19 @@ protected void buildRecipes(RecipeOutput pRecipeOutput) {
                 .unlocks("criteria", has(ItemRegistry.ANGEL_RING))
                 .save(pRecipeOutput, AngelRingMain.MODID+":smithing/night_vision_modifier");
 
-        SmithingTransformRecipeBuilder.smithing(Ingredient.EMPTY, Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.DIAMOND_PICKAXE), RecipeCategory.MISC, ItemRegistry.MINING_MODULE.asItem())
+        SmithingTransformRecipeBuilder.smithing(Ingredient.of(ItemRegistry.UPGRADE_TEMPLATE), Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.DIAMOND_PICKAXE), RecipeCategory.MISC, ItemRegistry.MINING_MODULE.asItem())
                 .unlocks("criteria", has(ItemRegistry.ANGEL_RING))
                 .save(pRecipeOutput, AngelRingMain.MODID+":smithing/mining_module");
 
-        SmithingTransformRecipeBuilder.smithing(Ingredient.EMPTY, Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.PHANTOM_MEMBRANE), RecipeCategory.MISC, ItemRegistry.INERTIA_MODULE.asItem())
+        SmithingTransformRecipeBuilder.smithing(Ingredient.of(ItemRegistry.UPGRADE_TEMPLATE), Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.PHANTOM_MEMBRANE), RecipeCategory.MISC, ItemRegistry.INERTIA_MODULE.asItem())
                 .unlocks("criteria", has(ItemRegistry.ANGEL_RING))
                 .save(pRecipeOutput, AngelRingMain.MODID+":smithing/inertia_module");
 
-        SmithingTransformRecipeBuilder.smithing(Ingredient.EMPTY, Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.SUGAR), RecipeCategory.MISC, ItemRegistry.SPEED_MODULE.asItem())
+        SmithingTransformRecipeBuilder.smithing(Ingredient.of(ItemRegistry.UPGRADE_TEMPLATE), Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.SUGAR), RecipeCategory.MISC, ItemRegistry.SPEED_MODULE.asItem())
                 .unlocks("criteria", has(ItemRegistry.ANGEL_RING))
                 .save(pRecipeOutput, AngelRingMain.MODID+":smithing/speed_module");
 
-        SmithingTransformRecipeBuilder.smithing(Ingredient.EMPTY, Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.GOLDEN_CARROT), RecipeCategory.MISC, ItemRegistry.NIGHT_VISION_MODULE.asItem())
+        SmithingTransformRecipeBuilder.smithing(Ingredient.of(ItemRegistry.UPGRADE_TEMPLATE), Ingredient.of(ItemRegistry.BLANK_MODULE), Ingredient.of(Items.GOLDEN_CARROT), RecipeCategory.MISC, ItemRegistry.NIGHT_VISION_MODULE.asItem())
                 .unlocks("criteria", has(ItemRegistry.ANGEL_RING))
                 .save(pRecipeOutput, AngelRingMain.MODID+":smithing/night_vision_module");