aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock
diff options
context:
space:
mode:
authorYasin <a.piri@hotmail.de>2024-02-20 20:11:43 +0100
committerYasin <a.piri@hotmail.de>2024-02-20 20:11:43 +0100
commit5bfe95f71d5265efd680dbc3c19c94dc0485e343 (patch)
treea23a2b9b8353f06c7c7e69a1f8ad84e897ab6fd4 /src/main/java/de/hysky/skyblocker/skyblock
parent20117e764d3a4f444efd06c846449395caac20aa (diff)
downloadSkyblocker-5bfe95f71d5265efd680dbc3c19c94dc0485e343.tar.gz
Skyblocker-5bfe95f71d5265efd680dbc3c19c94dc0485e343.tar.bz2
Skyblocker-5bfe95f71d5265efd680dbc3c19c94dc0485e343.zip
add keybinding and identifier
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java
index 2d929c28..5fc0fed5 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemProtection.java
@@ -10,13 +10,23 @@ import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
+import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
+import net.minecraft.client.network.ClientPlayerEntity;
+import net.minecraft.client.option.KeyBinding;
import net.minecraft.command.CommandRegistryAccess;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
+import org.lwjgl.glfw.GLFW;
public class ItemProtection {
+ public static KeyBinding itemProtection;
public static void init() {
+ itemProtection = KeyBindingHelper.registerKeyBinding(new KeyBinding(
+ "key.itemProtection",
+ GLFW.GLFW_KEY_V,
+ "key.categories.skyblocker"
+ ));
ClientCommandRegistrationCallback.EVENT.register(ItemProtection::registerCommand);
}
@@ -61,4 +71,28 @@ public class ItemProtection {
return Command.SINGLE_SUCCESS;
}
+
+ public static void handleKeyPressed(ItemStack heldItem) {
+ if (!Utils.isOnSkyblock() || heldItem.isEmpty()) return;
+
+ String itemUuid = ItemUtils.getItemUuid(heldItem);
+ if (!itemUuid.isEmpty()) {
+ ObjectOpenHashSet<String> protectedItems = SkyblockerConfigManager.get().general.protectedItems;
+
+ if (!protectedItems.contains(itemUuid)) {
+ protectedItems.add(itemUuid);
+ SkyblockerConfigManager.save();
+ } else {
+ protectedItems.remove(itemUuid);
+ SkyblockerConfigManager.save();
+ }
+ }
+ }
+
+ public static void handleHotbarKeyPressed(ClientPlayerEntity player) {
+ while (itemProtection.wasPressed()) {
+ ItemStack heldItem = player.getMainHandStack();
+ handleKeyPressed(heldItem);
+ }
+ }
}