Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.blablubbabc.test2;
- import java.util.Collection;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- import org.bukkit.block.Dispenser;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.block.BlockDispenseEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.inventory.EquipmentSlot;
- public class DispenserTest implements Listener {
- @EventHandler
- public void onInteract(PlayerInteractEvent event) {
- if (event.getItem() != null && event.getHand() == EquipmentSlot.HAND
- && event.hasBlock() && event.getClickedBlock().getType() == Material.DISPENSER) {
- Player player = event.getPlayer();
- Dispenser dispenser = (Dispenser) event.getClickedBlock().getState();
- if (event.getAction() == Action.LEFT_CLICK_BLOCK) {
- player.sendMessage("dispensing");
- dispenser.dispenseItem(event.getItem());
- } else {
- player.sendMessage("dropping");
- dispenser.dropItem(event.getItem());
- }
- event.setCancelled(true); // don't access or break block
- }
- }
- @EventHandler
- public void onDipense(BlockDispenseEvent event) {
- Collection<? extends Player> online = Bukkit.getOnlinePlayers();
- if (online.isEmpty()) return;
- Player player = online.iterator().next();
- if (event.getItem().isSimilar(player.getInventory().getItemInOffHand())) {
- player.sendMessage("Dropping item instead.");
- event.setDropItem(true);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement