diff --git a/Plugin/src/main/java/com/willfp/illusioner/config/UpdatingYamlConfig.java b/Plugin/src/main/java/com/willfp/illusioner/config/UpdatingYamlConfig.java index de25b33..3d35a88 100644 --- a/Plugin/src/main/java/com/willfp/illusioner/config/UpdatingYamlConfig.java +++ b/Plugin/src/main/java/com/willfp/illusioner/config/UpdatingYamlConfig.java @@ -14,7 +14,7 @@ import java.nio.charset.StandardCharsets; public abstract class UpdatingYamlConfig { public YamlConfiguration config; - private File configFile; + public File configFile; private final String name; private final boolean removeUnused; diff --git a/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/DeathListeners.java b/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/DeathListeners.java index 8531fa7..bc0b3e1 100644 --- a/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/DeathListeners.java +++ b/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/DeathListeners.java @@ -23,6 +23,10 @@ public class DeathListeners implements Listener { } }); + IllusionerManager.OPTIONS.getDrops().forEach(drop -> { + event.getVictim().getLocation().getWorld().dropItemNaturally(event.getVictim().getLocation(), drop); + }); + event.getDeathEvent().setDroppedExp(IllusionerManager.OPTIONS.generateXp()); } } diff --git a/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java b/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java index 3c4fe44..2afe620 100644 --- a/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java +++ b/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java @@ -66,6 +66,10 @@ public class IllusionerOptions { gameplayOptions.reload(); drops = new HashSet<>(); + ConfigManager.getConfig().config.getConfigurationSection("drops").getKeys(false).forEach(key -> { + ItemStack itemStack = ConfigManager.getConfig().getItemStack("drops." + key); + drops.add(itemStack); + }); } public BarColor getColor() { diff --git a/Plugin/src/main/resources/config.yml b/Plugin/src/main/resources/config.yml index 1f5a56c..7e39a9b 100644 --- a/Plugin/src/main/resources/config.yml +++ b/Plugin/src/main/resources/config.yml @@ -61,6 +61,19 @@ spawn: middle-block: BEACON bottom-block: DIAMOND_BLOCK +drops: + # EXAMPLE DROP - SET YOUR OWN! + '1': + ==: org.bukkit.inventory.ItemStack + v: 2584 + type: NETHERITE_SWORD + meta: + ==: ItemMeta + meta-type: UNSPECIFIC + display-name: ok + enchants: + ARROW_DAMAGE: 1 + sounds: # A sound is defined as follows: # broadcast - Should the whole server hear this or just the player?