Description
package spearplugin12111a20260323;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
public class spearplugin12111 extends JavaPlugin implements Listener, CommandExecutor {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
getCommand("spear").setExecutor(this); // Regisztráljuk a parancsot
getLogger().info("Spear Plugin 1.21.1 Aktiválva!");
}
// Parancs, amivel megkapod a kezdő fegyvert: /spear
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
player.getInventory().addItem(createSpear(Material.WOODEN_SWORD, "§fFa Spear"));
player.sendMessage("§eMegkaptad a kezdő lándzsát! Ölj meg valakit a fejlesztéshez.");
}
return true;
}
@EventHandler
public void onPlayerKilled(PlayerDeathEvent event) {
Player victim = event.getEntity();
Player killer = victim.getKiller();
if (killer != null) {
ItemStack itemInHand = killer.getInventory().getItemInMainHand();
if (itemInHand == null || !itemInHand.hasItemMeta() || !itemInHand.getItemMeta().hasDisplayName()) return;
String currentName = itemInHand.getItemMeta().getDisplayName();
ItemStack nextSpear = getNextSpear(currentName);
if (nextSpear != null) {
killer.getInventory().setItemInMainHand(nextSpear);
killer.sendMessage("§6§lSZINTET LÉPTÉL! §eÚj fegyver: " + nextSpear.getItemMeta().getDisplayName());
}
}
}
private ItemStack createSpear(Material material, String name, Object... enchants) {
ItemStack spear = new ItemStack(material);
ItemMeta meta = spear.getItemMeta();
if (meta != null) {
meta.setDisplayName(name);
for (int i = 0; i < enchants.length; i += 2) {
meta.addEnchant((Enchantment) enchants[i], (int) enchants[i + 1], true);
}
spear.setItemMeta(meta);
}
return spear;
}
private ItemStack getNextSpear(String name) {
switch (name) {
case "§fFa Spear": return createSpear(Material.WOODEN_SWORD, "§fFa Spear Sharpness 1", Enchantment.SHARPNESS, 1);
case "§fFa Spear Sharpness 1": return createSpear(Material.WOODEN_SWORD, "§fFa Spear Sharpness 2", Enchantment.SHARPNESS, 2);
case "§fFa Spear Sharpness 2": return createSpear(Material.STONE_SWORD, "§7Kő Spear", Enchantment.SHARPNESS, 1);
case "§7Kő Spear": return createSpear(Material.STONE_SWORD, "§7Kő Spear Sharpness 1", Enchantment.SHARPNESS, 1);
case "§7Kő Spear Sharpness 1": return createSpear(Material.STONE_SWORD, "§7Kő Spear S1 + Mending", Enchantment.SHARPNESS, 1, Enchantment.MENDING, 1);
case "§7Kő Spear S1 + Mending": return createSpear(Material.GOLDEN_SWORD, "§6Arany Spear", Enchantment.SHARPNESS, 1);
case "§6Arany Spear": return createSpear(Material.GOLDEN_SWORD, "§6Arany Spear Sharpness 1", Enchantment.SHARPNESS, 1);
case "§6Arany Spear Sharpness 1": return createSpear(Material.GOLDEN_SWORD, "§6Arany Spear S1 + Unbreaking 1", Enchantment.SHARPNESS, 1, Enchantment.UNBREAKING, 1);
case "§6Arany Spear S1 + Unbreaking 1": return createSpear(Material.IRON_SWORD, "§fVas Spear", Enchantment.SHARPNESS, 1);
case "§fVas Spear": return createSpear(Material.IRON_SWORD, "§fVas Spear Sharpness 1", Enchantment.SHARPNESS, 1);
case "§fVas Spear Sharpness 1": return createSpear(Material.IRON_SWORD, "§fVas Spear S1 + Looting 1", Enchantment.SHARPNESS, 1, Enchantment.LOOTING, 1);
case "§fVas Spear S1 + Looting 1": return createSpear(Material.DIAMOND_SWORD, "§bGyémánt Spear", Enchantment.SHARPNESS, 1);
case "§bGyémánt Spear": return createSpear(Material.DIAMOND_SWORD, "§bGyémánt Spear Sharpness 1", Enchantment.SHARPNESS, 1);
case "§bGyémánt Spear Sharpness 1": return createSpear(Material.DIAMOND_SWORD, "§bGyémánt Spear S1 + KB1 + Mending", Enchantment.SHARPNESS, 1, Enchantment.KNOCKBACK, 1, Enchantment.MENDING, 1);
case "§bGyémánt Spear S1 + KB1 + Mending": return createSpear(Material.DIAMOND_SWORD, "§bGyémánt Spear Sharpness 2 + Mending", Enchantment.SHARPNESS, 2, Enchantment.MENDING, 1);
case "§bGyémánt Spear Sharpness 2 + Mending": return createSpear(Material.NETHERITE_SWORD, "§8Netherite Spear", Enchantment.SHARPNESS, 1);
case "§8Netherite Spear": return createSpear(Material.NETHERITE_SWORD, "§8Netherite Spear Sharpness 1", Enchantment.SHARPNESS, 1);
case "§8Netherite Spear Sharpness 1": return createSpear(Material.NETHERITE_SWORD, "§8Netherite Spear S2 + Mending + Unbreaking 1", Enchantment.SHARPNESS, 2, Enchantment.MENDING, 1, Enchantment.UNBREAKING, 1);
case "§8Netherite Spear S2 + Mending + Unbreaking 1": return createSpear(Material.NETHERITE_SWORD, "§8Netherite Spear S3 + U3 + L2 + Fire 1", Enchantment.SHARPNESS, 3, Enchantment.UNBREAKING, 3, Enchantment.LOOTING, 2, Enchantment.FIRE_ASPECT, 1, Enchantment.KNOCKBACK, 1);
case "§8Netherite Spear S3 + U3 + L2 + Fire 1": return createSpear(Material.NETHERITE_SWORD, "§4§lULTIMATE SPEAR", Enchantment.SHARPNESS, 5, Enchantment.UNBREAKING, 3, Enchantment.MENDING, 1, Enchantment.FIRE_ASPECT, 1, Enchantment.KNOCKBACK, 2);
default: return null;
}
}
}