package org.cmurfik.emdeathdrop;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.configuration.file.FileConfiguration;
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.plugin.java.JavaPlugin;
public class EmDeathDrop extends JavaPlugin implements Listener {
private double dropRadius;
@Override
public void onEnable() {
saveDefaultConfig();
loadConfig();
Bukkit.getPluginManager().registerEvents(this, this);
getLogger().info("EmDeathDrop вкключаитебся!");
}
@Override
public void onDisable() {
getLogger().info("EmDeathDrop Ввыврубаветмяся!");
}
private void loadConfig() {
FileConfiguration config = getConfig();
dropRadius = config.getDouble("drop-radius", 2.0);
}
@EventHandler
public void onPlayerDeath(PlayerDeathEvent event) {
Player player = event.getEntity();
Location deathLocation = player.getLocation();
for (ItemStack item : event.getDrops()) {
if (item != null && item.getType() != Material.AIR) {
double offsetX = (Math.random() * dropRadius * 2) - dropRadius;
double offsetZ = (Math.random() * dropRadius * 2) - dropRadius;
Location dropLocation = deathLocation.clone().add(offsetX, 0, offsetZ);
deathLocation.getWorld().dropItemNaturally(dropLocation, item);
}
}
event.getDrops().clear();
}
}