Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.grimlytwisted.serverplugin.custom.alchemy;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.entity.Entity;
- import org.bukkit.entity.Item;
- 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.player.PlayerInteractEvent;
- import org.bukkit.inventory.EquipmentSlot;
- import org.bukkit.inventory.ItemStack;
- import java.util.ArrayList;
- import java.util.List;
- public class CauldronUse implements Listener {
- @EventHandler
- public void onClick(PlayerInteractEvent event) {
- //List<Entity> test = new ArrayList<>(); //Trying to create lists of item entities
- //test.add(new Item(Material.DIAMOND)); //Failing right now, woo!
- List<Item> entities = new ArrayList<>();
- Item alpha;
- EquipmentSlot equip = event.getHand(); // Defines the equipment slot of hand, the main RIGHT hand.
- ItemStack item = new ItemStack(Material.STICK); // Declaring item, stick, as wand
- Player player = event.getPlayer(); // Getting event initiator, the player
- if (event.getAction() != Action.RIGHT_CLICK_BLOCK) {
- System.out.println("Failed at event.getAction() != Action.RIGHT_CLICK_BLOCK");
- return;
- }
- if (event.getClickedBlock().getType() != Material.CAULDRON) {
- System.out.println("Failed at event.getClickedBlock().getType() != Material.CAULDRON");
- return;
- }
- if (!player.getInventory().getItemInMainHand().equals(item)) {
- System.out.println("Failed at !player.getInventory().getItemInMainHand().equals(item)");
- return;
- }
- if (equip != EquipmentSlot.HAND) {
- System.out.println("Failed at equip != EquipmentSlot.HAND");
- return;
- }
- int val = event.getClickedBlock().getData(); // Gets byte value
- if (val == 1 || val == 2 || val == 3) { // Tests if it has a value between 1 and 3
- System.out.println(player.getName() + " clicked a cauldron with " + event.getClickedBlock().getData() + " bytes.");
- event.getClickedBlock().setData((byte) (event.getClickedBlock().getData() - 1)); // Changes the byte value, removing 1 increment of water
- Location cauldronLoc = event.getClickedBlock().getLocation();
- for (Entity entity : event.getClickedBlock().getWorld().getNearbyEntities(new Location(player.getWorld(), cauldronLoc.getX() + 0.5, cauldronLoc.getY(), cauldronLoc.getZ() + 0.5), 0.5, 1, 0.5)) {
- if (entity instanceof Item) {
- entities.add(entity);
- //if(entities.containsAll(diamond)) {
- //if(((Item) entity).getItemStack().getType().equals(Material.DIAMOND)) {
- player.sendMessage("DIAMOND DETECTED");
- entity.remove();
- }
- }
- }
- }
- public void diamondFunction() {
- System.out.println();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement