From 2871981bad67ab5698d1e29733f51e955ac4de7d Mon Sep 17 00:00:00 2001 From: Leclowndu93150 Date: Wed, 19 Jun 2024 13:22:45 +0200 Subject: [PATCH] Keybind for Speed --- .../modular_angelring/common/AngelRingItem.java | 16 +++++++++------- .../registry/KeyBindRegistry.java | 16 +++++++++++++++- 2 files changed, 24 insertions(+), 8 deletions(-) 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 715a806..6a26335 100644 --- a/src/main/java/com/leclowndu93150/modular_angelring/common/AngelRingItem.java +++ b/src/main/java/com/leclowndu93150/modular_angelring/common/AngelRingItem.java @@ -61,8 +61,10 @@ public static void tickRing(ItemStack stack, Player player) { } ItemStack angelRingStack = slotResult.get().stack(); - if(angelRingStack.has(DataComponentRegistry.SPEED_MODIFIER) && !(player.getAbilities().getFlyingSpeed() == getSpeedModifier(angelRingStack))){ - player.getAbilities().setFlyingSpeed(getSpeedModifier(angelRingStack)); + if(angelRingStack.has(DataComponentRegistry.SPEED_MODIFIER) && ((player.getAbilities().getFlyingSpeed() != getSpeedModifier(angelRingStack)) || !KeyBindRegistry.speedEnabled)){ + if(KeyBindRegistry.speedEnabled){ + player.getAbilities().setFlyingSpeed(getSpeedModifier(angelRingStack)); + } else player.getAbilities().setFlyingSpeed(0.05F); } } @@ -86,14 +88,14 @@ public void appendHoverText(@NotNull ItemStack stack, @NotNull TooltipContext pC if (AngelRingModules.getInertiaModifier(stack) && KeyBindRegistry.inertiaEnabled){ pTooltipComponents.add(Component.literal("Inertia Module: ").append("Enabled").withStyle(ChatFormatting.GREEN)); } - if (AngelRingModules.getMiningSpeedModifier(stack) && !KeyBindRegistry.miningEnabled) { - pTooltipComponents.add(Component.literal("Mining Module: ").append("Disabled").withStyle(ChatFormatting.RED)); - } if (AngelRingModules.getInertiaModifier(stack) && !KeyBindRegistry.inertiaEnabled){ pTooltipComponents.add(Component.literal("Inertia Module: ").append("Disabled").withStyle(ChatFormatting.RED)); } - if (stack.has(DataComponentRegistry.SPEED_MODIFIER)){ - pTooltipComponents.add(Component.literal("Speed Module: ").append(String.valueOf(FlightSpeedPercentage.speedToPercentage(AngelRingModules.getSpeedModifier(stack)))).append("%").withStyle(ChatFormatting.GRAY)); + if (stack.has(DataComponentRegistry.SPEED_MODIFIER) && KeyBindRegistry.speedEnabled){ + pTooltipComponents.add(Component.literal("Speed Module: ").append(String.valueOf(FlightSpeedPercentage.speedToPercentage(AngelRingModules.getSpeedModifier(stack)))).append("%").withStyle(ChatFormatting.GREEN)); + } + if (stack.has(DataComponentRegistry.SPEED_MODIFIER) && !KeyBindRegistry.speedEnabled){ + pTooltipComponents.add(Component.literal("Speed Module: ").append(String.valueOf(FlightSpeedPercentage.speedToPercentage(AngelRingModules.getSpeedModifier(stack)))).append("%").withStyle(ChatFormatting.RED)); } super.appendHoverText(stack, pContext, pTooltipComponents, pTooltipFlag); diff --git a/src/main/java/com/leclowndu93150/modular_angelring/registry/KeyBindRegistry.java b/src/main/java/com/leclowndu93150/modular_angelring/registry/KeyBindRegistry.java index b8fad78..9cd69c0 100644 --- a/src/main/java/com/leclowndu93150/modular_angelring/registry/KeyBindRegistry.java +++ b/src/main/java/com/leclowndu93150/modular_angelring/registry/KeyBindRegistry.java @@ -30,16 +30,20 @@ public class KeyBindRegistry { public static final Lazy INERTIA_MODULE = Lazy.of(() ->new KeyMapping( "Inertia Module", InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_L, "Modular Angel Ring")); + public static final Lazy SPEED_MODULE = Lazy.of(() ->new KeyMapping( + "Speed Module", InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_K, "Modular Angel Ring")); + @SubscribeEvent public static void registerBindings(RegisterKeyMappingsEvent event) { - //event.register(MINING_MODULE.get()); + event.register(SPEED_MODULE.get()); event.register(INERTIA_MODULE.get()); NeoForge.EVENT_BUS.addListener(KeyBindRegistry::onKey); } public static boolean miningEnabled = true; public static boolean inertiaEnabled = true; + public static boolean speedEnabled = true; public static void onKey(InputEvent.Key event) { Player player = Minecraft.getInstance().player; @@ -57,6 +61,16 @@ public static void onKey(InputEvent.Key event) { player.level().playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BELL.value(), SoundSource.PLAYERS, 0.4f, 0.09f); } } + if (SPEED_MODULE.get().consumeClick() && angelRingStack.has(DataComponentRegistry.SPEED_MODIFIER)) { + speedEnabled = !speedEnabled; + if (speedEnabled) { + player.displayClientMessage(Component.literal("Speed Module: Enabled").withStyle(ChatFormatting.GREEN), true); + player.level().playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BELL.value(), SoundSource.PLAYERS, 0.4f, 0.01f); + } else { + player.displayClientMessage(Component.literal("Speed Module: Disabled").withStyle(ChatFormatting.RED), true); + player.level().playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.NOTE_BLOCK_BELL.value(), SoundSource.PLAYERS, 0.4f, 0.09f); + } + } } }