## Added Blazing Halo
- crafted with 8 blaze rods in a circle and 1 nether star in the centre
- cancels all fire damage
This commit is contained in:
@@ -23,8 +23,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.8.1</version>
|
<version>3.8.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>${java.version}</source>
|
<source>17</source>
|
||||||
<target>${java.version}</target>
|
<target>17</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
package fantasypvp.kand_smp;
|
package fantasypvp.kand_smp;
|
||||||
|
|
||||||
import fantasypvp.kand_smp.commands.CmdLightningSword;
|
import fantasypvp.kand_smp.commands.*;
|
||||||
import fantasypvp.kand_smp.commands.CmdTeleportSpawn;
|
|
||||||
import fantasypvp.kand_smp.commands.GiveDashItemCommand;
|
|
||||||
import fantasypvp.kand_smp.commands.SetSpawnCommand;
|
|
||||||
import fantasypvp.kand_smp.events.DashItemListener;
|
import fantasypvp.kand_smp.events.DashItemListener;
|
||||||
import fantasypvp.kand_smp.events.Events;
|
import fantasypvp.kand_smp.events.Events;
|
||||||
import fantasypvp.kand_smp.items.DashItem;
|
import fantasypvp.kand_smp.events.FireDamageListener;
|
||||||
import fantasypvp.kand_smp.items.LightningGear;
|
import fantasypvp.kand_smp.items.*;
|
||||||
import fantasypvp.kand_smp.items.TrueNetherite;
|
|
||||||
import fantasypvp.kand_smp.items.Witherite;
|
|
||||||
|
|
||||||
|
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;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
public final class Kand_smp extends JavaPlugin {
|
public final class Kand_smp extends JavaPlugin {
|
||||||
@@ -21,19 +21,36 @@ public final class Kand_smp extends JavaPlugin {
|
|||||||
LightningGear.init();
|
LightningGear.init();
|
||||||
TrueNetherite.init();
|
TrueNetherite.init();
|
||||||
Witherite.init();
|
Witherite.init();
|
||||||
|
registerBlazingHaloRecipe();
|
||||||
// register listeners
|
// register listeners
|
||||||
getServer().getPluginManager().registerEvents(new Events(), this);
|
getServer().getPluginManager().registerEvents(new Events(), this);
|
||||||
getServer().getPluginManager().registerEvents(new DashItemListener(),this);
|
getServer().getPluginManager().registerEvents(new DashItemListener(),this);
|
||||||
|
getServer().getPluginManager().registerEvents(new FireDamageListener(), this);
|
||||||
|
//register commands
|
||||||
getCommand("lightning_sword").setExecutor(new CmdLightningSword());
|
getCommand("lightning_sword").setExecutor(new CmdLightningSword());
|
||||||
getCommand("spawn").setExecutor(new CmdTeleportSpawn(this));
|
getCommand("spawn").setExecutor(new CmdTeleportSpawn(this));
|
||||||
getCommand("setSpawnTp").setExecutor(new SetSpawnCommand(this));
|
getCommand("setSpawnTp").setExecutor(new SetSpawnCommand(this));
|
||||||
getCommand("dashstick").setExecutor(new GiveDashItemCommand());
|
getCommand("dashstick").setExecutor(new GiveDashItemCommand());
|
||||||
|
|
||||||
|
|
||||||
getServer().broadcastMessage("§aKand SMP has been enabled!");
|
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
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
// Plugin shutdown logic
|
// 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:
|
# Nether Sets / Items:
|
||||||
|
|
||||||
## Blazing Halo
|
## 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
|
## True Netherite Set
|
||||||
- Netherite gear upgraded with nether stars at a smithing table
|
- Netherite gear upgraded with nether stars at a smithing table
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ commands:
|
|||||||
usage: /dashstick
|
usage: /dashstick
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
lightning_sword:
|
lightning_sword:
|
||||||
description: Allows player to run /lightning_sword
|
description: Allows player to run /lightning_sword
|
||||||
|
|||||||
Reference in New Issue
Block a user