Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.esinia.server.events;
- import java.util.ArrayList;
- import java.util.List;
- import org.spongepowered.api.Sponge;
- import org.spongepowered.api.data.key.Keys;
- import org.spongepowered.api.entity.living.player.Player;
- import org.spongepowered.api.event.Listener;
- import org.spongepowered.api.event.filter.Getter;
- import org.spongepowered.api.event.filter.cause.Root;
- import org.spongepowered.api.event.item.inventory.ClickInventoryEvent;
- import org.spongepowered.api.item.ItemTypes;
- import org.spongepowered.api.item.inventory.Inventory;
- import org.spongepowered.api.item.inventory.InventoryArchetypes;
- import org.spongepowered.api.item.inventory.ItemStack;
- import org.spongepowered.api.item.inventory.Slot;
- import org.spongepowered.api.item.inventory.crafting.CraftingOutput;
- import org.spongepowered.api.item.inventory.property.SlotPos;
- import org.spongepowered.api.text.Text;
- import org.spongepowered.api.text.chat.ChatTypes;
- import org.spongepowered.api.text.format.TextColors;
- public class EventInventoryClick {
- @Listener
- public void onItemCraft(ClickInventoryEvent event, @Root Player player, @Getter("getTargetInventory") Inventory inventory) {
- //Sponge.getServer().getBroadcastChannel().send(Text.of());
- if (inventory.getName().get().contains("Rudimentary Crafting Table")){
- event.setCancelled(true);
- if (event.getCursorTransaction().getFinal().get(Keys.DISPLAY_NAME).get().equals(Text.of("Emerald"))){
- //Inventory items = player.getInventory().query(ItemTypes.EMERALD);
- if (player.getInventory().contains(ItemTypes.EMERALD)){
- Sponge.getServer().getBroadcastChannel().send(Text.of("Player has Emerald!"));
- //Sponge.getServer().getBroadcastChannel().send(Text.of("Player has Emerald!"));
- }
- }
- }
- if (inventory.getArchetype() == InventoryArchetypes.PLAYER || inventory.getArchetype() == InventoryArchetypes.WORKBENCH) {
- Inventory craftingOutputs = inventory.query(CraftingOutput.class);
- craftingOutputs.slots().forEach(slot -> slot.peek().ifPresent(itemStack -> {
- event.setCancelled(true);
- }));
- }
- }
- }
Add Comment
Please, Sign In to add comment