Make golden apples have 8 second usage cooldown, and 16 for enchanted golden apples. Also nerf totems to 8 second usage cooldown

This commit is contained in:
2024-07-13 20:49:59 -07:00
parent 56678b7d64
commit 1763943c74
3 changed files with 28 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
@@ -110,6 +111,7 @@ public final class LncvrtBox extends JavaPlugin implements Listener, TabExecutor
getServer().getPluginManager().registerEvents(new PlayerDeathListener(), this);
getServer().getPluginManager().registerEvents(new PlayerDropItemListener(this), this);
getServer().getPluginManager().registerEvents(new PlayerElytraBoostListener(), this);
getServer().getPluginManager().registerEvents(new PlayerItemConsumeListener(), this);
getServer().getPluginManager().registerEvents(new PlayerJoinListener(this), this);
getServer().getPluginManager().registerEvents(new PlayerMoveListener(), this);
getServer().getPluginManager().registerEvents(new PortalCreateListener(), this);

View File

@@ -20,6 +20,11 @@ public class EntityResurrectListener implements Listener {
public void onEntityResurrect(EntityResurrectEvent event) {
if (event.getEntity() instanceof Player player && !event.isCancelled()) {
if (player.getInventory().getItemInMainHand().getType() == Material.TOTEM_OF_UNDYING || player.getInventory().getItemInOffHand().getType() == Material.TOTEM_OF_UNDYING) {
if (player.getCooldown(Material.TOTEM_OF_UNDYING) != 0) {
event.setCancelled(true);
return;
}
player.setCooldown(Material.TOTEM_OF_UNDYING, 20 * 8);
plugin.getServer().broadcastMessage("%s%sLncvrtBox %s%s» %s%s has popped their totem".formatted(GOLD, BOLD, GRAY, BOLD, RESET, player.getName()));
}
}

View File

@@ -0,0 +1,21 @@
package io.github.lncvrt.lncvrtbox.events;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.inventory.ItemStack;
public class PlayerItemConsumeListener implements Listener {
@EventHandler
public void onPlayerItemConsume(PlayerItemConsumeEvent event) {
Player player = event.getPlayer();
ItemStack item = event.getItem();
if (item.getType() == Material.GOLDEN_APPLE || item.getType() == Material.ENCHANTED_GOLDEN_APPLE) {
player.setCooldown(Material.GOLDEN_APPLE, 20 * 8);
player.setCooldown(Material.ENCHANTED_GOLDEN_APPLE, 20 * 16);
}
}
}