diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/cooldown/ItemCooldowns.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/cooldown/ItemCooldowns.java | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/cooldown/ItemCooldowns.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/cooldown/ItemCooldowns.java deleted file mode 100644 index 6663b368..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/cooldown/ItemCooldowns.java +++ /dev/null @@ -1,96 +0,0 @@ -package me.xmrvizzy.skyblocker.skyblock.cooldown; - -import com.google.common.collect.ImmutableList; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -import me.xmrvizzy.skyblocker.events.ClientPlayerBlockBreakEvent; -import me.xmrvizzy.skyblocker.utils.ItemUtils; -import net.fabricmc.fabric.api.event.player.UseItemCallback; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Hand; -import net.minecraft.util.TypedActionResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -import java.util.HashMap; -import java.util.Map; - -public class ItemCooldowns { - private static final String JUNGLE_AXE_ID = "JUNGLE_AXE"; - private static final String TREECAPITATOR_ID = "TREECAPITATOR_AXE"; - private static final String GRAPPLING_HOOK_ID = "GRAPPLING_HOOK"; - private static final ImmutableList<String> BAT_ARMOR_IDS = ImmutableList.of("BAT_PERSON_HELMET", "BAT_PERSON_CHESTPLATE", "BAT_PERSON_LEGGINGS", "BAT_PERSON_BOOTS"); - - private static final Map<String, ItemCooldownEntry> itemCooldowns = new HashMap<>(); - private static SkyblockerConfig.ItemCooldown config; - - public static void init() { - ClientPlayerBlockBreakEvent.AFTER.register(ItemCooldowns::afterBlockBreak); - UseItemCallback.EVENT.register(ItemCooldowns::onItemInteract); - config = SkyblockerConfig.get().general.itemCooldown; - } - - public static void afterBlockBreak(BlockPos pos, PlayerEntity player) { - if (!config.enableItemCooldowns) return; - - String usedItemId = ItemUtils.getItemId(player.getMainHandStack()); - if (usedItemId == null) return; - - if (usedItemId.equals(JUNGLE_AXE_ID)) { - if (!isItemOnCooldown(JUNGLE_AXE_ID)) { - itemCooldowns.put(JUNGLE_AXE_ID, new ItemCooldownEntry(2000)); - } - } - else if (usedItemId.equals(TREECAPITATOR_ID)) { - if (!isItemOnCooldown(TREECAPITATOR_ID)) { - itemCooldowns.put(TREECAPITATOR_ID, new ItemCooldownEntry(2000)); - } - } - } - - private static TypedActionResult<ItemStack> onItemInteract(PlayerEntity player, World world, Hand hand) { - if (!config.enableItemCooldowns) return TypedActionResult.pass(ItemStack.EMPTY); - - String usedItemId = ItemUtils.getItemId(player.getMainHandStack()); - if (usedItemId != null && usedItemId.equals(GRAPPLING_HOOK_ID) && player.fishHook != null) { - if (!isItemOnCooldown(GRAPPLING_HOOK_ID) && !isPlayerWearingBatArmor(player)) { - itemCooldowns.put(GRAPPLING_HOOK_ID, new ItemCooldownEntry(2000)); - } - } - - return TypedActionResult.pass(ItemStack.EMPTY); - } - - public static boolean isItemOnCooldown(ItemStack itemStack) { - return isItemOnCooldown(ItemUtils.getItemId(itemStack)); - } - - private static boolean isItemOnCooldown(String itemId) { - if (itemCooldowns.containsKey(itemId)) { - ItemCooldownEntry cooldownEntry = itemCooldowns.get(itemId); - if (cooldownEntry.isOnCooldown()) { - return true; - } - else { - itemCooldowns.remove(cooldownEntry); - return false; - } - } - - return false; - } - - public static ItemCooldownEntry getItemCooldownEntry(ItemStack itemStack) { - return itemCooldowns.get(ItemUtils.getItemId(itemStack)); - } - - private static boolean isPlayerWearingBatArmor(PlayerEntity player) { - for (ItemStack stack : player.getArmorItems()) { - String itemId = ItemUtils.getItemId(stack); - if (!BAT_ARMOR_IDS.contains(itemId)) { - return false; - } - } - return true; - } -} |