@@ -23,8 +23,8 @@
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
<source>17</source>
|
||||
<target>17</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package fantasypvp.kand_smp;
|
||||
|
||||
import fantasypvp.kand_smp.commands.CmdLightningSword;
|
||||
import fantasypvp.kand_smp.commands.CmdTeleportSpawn;
|
||||
import fantasypvp.kand_smp.commands.GiveDashItemCommand;
|
||||
import fantasypvp.kand_smp.commands.SetSpawnCommand;
|
||||
import fantasypvp.kand_smp.commands.*;
|
||||
import fantasypvp.kand_smp.events.DashItemListener;
|
||||
import fantasypvp.kand_smp.events.Events;
|
||||
import fantasypvp.kand_smp.items.DashItem;
|
||||
import fantasypvp.kand_smp.items.LightningGear;
|
||||
import fantasypvp.kand_smp.items.TrueNetherite;
|
||||
import fantasypvp.kand_smp.items.Witherite;
|
||||
import fantasypvp.kand_smp.events.FireDamageListener;
|
||||
import fantasypvp.kand_smp.items.*;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.ShapedRecipe;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public final class Kand_smp extends JavaPlugin {
|
||||
@@ -21,19 +21,36 @@ public final class Kand_smp extends JavaPlugin {
|
||||
LightningGear.init();
|
||||
TrueNetherite.init();
|
||||
Witherite.init();
|
||||
registerBlazingHaloRecipe();
|
||||
// register listeners
|
||||
getServer().getPluginManager().registerEvents(new Events(), this);
|
||||
getServer().getPluginManager().registerEvents(new DashItemListener(),this);
|
||||
|
||||
getServer().getPluginManager().registerEvents(new FireDamageListener(), this);
|
||||
//register commands
|
||||
getCommand("lightning_sword").setExecutor(new CmdLightningSword());
|
||||
getCommand("spawn").setExecutor(new CmdTeleportSpawn(this));
|
||||
getCommand("setSpawnTp").setExecutor(new SetSpawnCommand(this));
|
||||
getCommand("dashstick").setExecutor(new GiveDashItemCommand());
|
||||
|
||||
|
||||
getServer().broadcastMessage("§aKand SMP has been enabled!");
|
||||
}
|
||||
|
||||
private void registerBlazingHaloRecipe() {
|
||||
ItemStack blazingHalo = BlazingHalo.createBlazingHalo();
|
||||
|
||||
NamespacedKey key = new NamespacedKey(this, "blazing_halo");
|
||||
ShapedRecipe recipe = new ShapedRecipe(key, blazingHalo);
|
||||
|
||||
recipe.shape(
|
||||
"BBB",
|
||||
"BNB",
|
||||
"BBB"
|
||||
);
|
||||
recipe.setIngredient('B', Material.BLAZE_ROD);
|
||||
recipe.setIngredient('N',Material.NETHER_STAR);
|
||||
|
||||
Bukkit.addRecipe(recipe);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
// Plugin shutdown logic
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package fantasypvp.kand_smp.events;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class FireDamageListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerTakeFireDamage(EntityDamageEvent event){
|
||||
if(event.getEntity() instanceof Player player){
|
||||
ItemStack helmet = player.getInventory().getHelmet();
|
||||
if (helmet == null){
|
||||
return;
|
||||
}
|
||||
ItemMeta meta = helmet.getItemMeta();
|
||||
if(meta == null || !meta.hasDisplayName()){
|
||||
return;
|
||||
}
|
||||
if (meta.getDisplayName().equals(ChatColor.GOLD+"Blazing Halo")){
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package fantasypvp.kand_smp.items;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class BlazingHalo extends ItemStack {
|
||||
|
||||
public static ItemStack createBlazingHalo(){
|
||||
ItemStack item = new ItemStack(Material.LEATHER_HELMET);
|
||||
ItemMeta meta = item.hasItemMeta() ? item.getItemMeta() : Bukkit.getItemFactory().getItemMeta(item.getType());
|
||||
LeatherArmorMeta leatherArmorMeta = (LeatherArmorMeta) meta;
|
||||
assert leatherArmorMeta != null;
|
||||
leatherArmorMeta.setColor(Color.ORANGE);
|
||||
leatherArmorMeta.setDisplayName(ChatColor.GOLD + "Blazing Halo");
|
||||
leatherArmorMeta.setLore(Arrays.asList(ChatColor.RED + "A mystical helmet", ChatColor.RED + "imbued with blazing power."));
|
||||
|
||||
item.setItemMeta(leatherArmorMeta);
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,7 +37,8 @@
|
||||
# Nether Sets / Items:
|
||||
|
||||
## Blazing Halo
|
||||
- crafted with 8 blaze rods in a circle.
|
||||
- crafted with 8 blaze rods in a circle and 1 nether star in the centre
|
||||
- cancels all fire damage
|
||||
|
||||
## True Netherite Set
|
||||
- Netherite gear upgraded with nether stars at a smithing table
|
||||
|
||||
@@ -17,6 +17,7 @@ commands:
|
||||
usage: /dashstick
|
||||
|
||||
|
||||
|
||||
permissions:
|
||||
lightning_sword:
|
||||
description: Allows player to run /lightning_sword
|
||||
|
||||
Reference in New Issue
Block a user