diff --git a/src/main/java/pk/ajneb97/PlayerKits2.java b/src/main/java/pk/ajneb97/PlayerKits2.java index 64df2f9..f5403a5 100644 --- a/src/main/java/pk/ajneb97/PlayerKits2.java +++ b/src/main/java/pk/ajneb97/PlayerKits2.java @@ -9,6 +9,7 @@ import pk.ajneb97.api.PlayerKitsAPI; import pk.ajneb97.configs.ConfigsManager; import pk.ajneb97.database.MySQLConnection; import pk.ajneb97.listeners.InventoryEditListener; +import pk.ajneb97.listeners.OtherListener; import pk.ajneb97.listeners.PlayerListener; import pk.ajneb97.managers.*; import pk.ajneb97.managers.dependencies.Metrics; @@ -93,6 +94,7 @@ public class PlayerKits2 extends JavaPlugin { PluginManager pm = getServer().getPluginManager(); pm.registerEvents(new PlayerListener(this), this); pm.registerEvents(new InventoryEditListener(this), this); + pm.registerEvents(new OtherListener(), this); } public void reloadPlayerDataSaveTask() { diff --git a/src/main/java/pk/ajneb97/listeners/OtherListener.java b/src/main/java/pk/ajneb97/listeners/OtherListener.java new file mode 100644 index 0000000..4c503ad --- /dev/null +++ b/src/main/java/pk/ajneb97/listeners/OtherListener.java @@ -0,0 +1,21 @@ +package pk.ajneb97.listeners; + +import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageByEntityEvent; + +public class OtherListener implements Listener { + + @EventHandler + public void fireworkDamage(EntityDamageByEntityEvent event) { + Entity damager = event.getDamager(); + if(event.getEntity() instanceof Player && damager.getType().equals(EntityType.FIREWORK)) { + if(damager.hasMetadata("playerkits")) { + event.setCancelled(true); + } + } + } +} diff --git a/src/main/java/pk/ajneb97/managers/KitsManager.java b/src/main/java/pk/ajneb97/managers/KitsManager.java index 25e89ee..0bc34eb 100644 --- a/src/main/java/pk/ajneb97/managers/KitsManager.java +++ b/src/main/java/pk/ajneb97/managers/KitsManager.java @@ -385,7 +385,7 @@ public class KitsManager { ActionUtils.title(player,actionLine); break; case "firework": - ActionUtils.firework(player,actionLine); + ActionUtils.firework(player,actionLine,plugin); break; } } diff --git a/src/main/java/pk/ajneb97/managers/edit/InventoryEditRequirementsManager.java b/src/main/java/pk/ajneb97/managers/edit/InventoryEditRequirementsManager.java index 44be601..97db440 100644 --- a/src/main/java/pk/ajneb97/managers/edit/InventoryEditRequirementsManager.java +++ b/src/main/java/pk/ajneb97/managers/edit/InventoryEditRequirementsManager.java @@ -103,6 +103,7 @@ public class InventoryEditRequirementsManager { KitRequirements kitRequirements = kit.getRequirements(); if(kitRequirements == null){ kitRequirements = new KitRequirements(); + kit.setRequirements(kitRequirements); } kitRequirements.setPrice(price); inventoryEditManager.removeInventoryPlayer(inventoryPlayer.getPlayer()); diff --git a/src/main/java/pk/ajneb97/utils/ActionUtils.java b/src/main/java/pk/ajneb97/utils/ActionUtils.java index 820489c..d0845df 100644 --- a/src/main/java/pk/ajneb97/utils/ActionUtils.java +++ b/src/main/java/pk/ajneb97/utils/ActionUtils.java @@ -6,6 +6,7 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Firework; import org.bukkit.entity.Player; import org.bukkit.inventory.meta.FireworkMeta; +import org.bukkit.metadata.FixedMetadataValue; import pk.ajneb97.PlayerKits2; import pk.ajneb97.libs.actionbar.ActionBarAPI; import pk.ajneb97.libs.titles.TitleAPI; @@ -66,7 +67,7 @@ public class ActionUtils { TitleAPI.sendTitle(player,fadeIn,stay,fadeOut,title,subtitle); } - public static void firework(Player player,String actionLine){ + public static void firework(Player player,String actionLine,PlayerKits2 plugin){ ArrayList colors = new ArrayList(); FireworkEffect.Type type = null; ArrayList fadeColors = new ArrayList(); @@ -106,5 +107,6 @@ public class ActionUtils { fireworkMeta.addEffect(effect); fireworkMeta.setPower(power); firework.setFireworkMeta(fireworkMeta); + firework.setMetadata("playerkits", new FixedMetadataValue(plugin, "no_damage")); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 2254ffe..e205ac4 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: pk.ajneb97.PlayerKits2 -version: 1.3.2 +version: 1.3.3 name: PlayerKits2 api-version: 1.13 softdepend: [Vault,PlaceholderAPI]