Prevent players from dropping items

This commit is contained in:
kaenganxt
2014-11-02 11:35:30 +01:00
parent a2a07e9cda
commit a9e54088ba
2 changed files with 31 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ import de.anura.core.events.BlockBreak;
import de.anura.core.events.BlockPlace;
import de.anura.core.events.BlockSpread;
import de.anura.core.events.CmdPreprocess;
import de.anura.core.events.DropItem;
import de.anura.core.events.EntityDamage;
import de.anura.core.events.EntityDamageByE;
import de.anura.core.events.FoodChange;
@@ -83,6 +84,7 @@ public class Setup {
new PlayerTeleport(Core.getMainClass());
new InvClick(Core.getMainClass());
new BlockSpread(Core.getMainClass());
new DropItem(Core.getMainClass());
}
public static void setupClasses() {

View File

@@ -0,0 +1,29 @@
package de.anura.core.events;
import de.anura.core.AnuraCore;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerDropItemEvent;
public class DropItem implements Listener {
public DropItem(AnuraCore plugin) {
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@EventHandler
public void onPlayerDropItem(PlayerDropItemEvent event) {
if (AnuraCore.getInstance().getConfig().getBoolean("is-main-lobby") && !event.getPlayer().hasPermission("core.inventory.interact")) {
event.setCancelled(true);
final Player P = event.getPlayer();
Bukkit.getScheduler().scheduleSyncDelayedTask(AnuraCore.getInstance(), new Runnable() {
@Override
public void run() {
P.updateInventory();
}
}, 2);
}
}
}