@Override public void giveItem(BaseItemStack itemStack) { this.player.getInventory().offer( ItemStack.of(Sponge.getGame().getRegistry().getType(ItemType.class, itemStack.getType().getId()).get(), itemStack.getAmount()) ); }
@Override public PlotItemStack[] getItems(final PlotPlayer player) { final SpongePlayer sp = (SpongePlayer) player; sp.player.getInventory(); new ArrayList<PlotItemStack>(); throw new UnsupportedOperationException("NOT IMPLEMENTED YET"); // return list.toArray(); }
@Override public int getFreeSlots(QueuedPlayer player) { Optional<Player> player1 = getPlayer(player); if (!player1.isPresent()) { return -1; } else { return Math.max(0, 36 - player1.get().getInventory().size()); } }
@Override public boolean isOpen(final PlotInventory inv) { if (!inv.isOpen()) { return false; } final SpongePlayer sp = (SpongePlayer) inv.player; final Player player = sp.player; if (player.isViewingInventory()) { final CarriedInventory<? extends Carrier> inventory = player.getInventory(); return inv.getTitle().equals(inventory.getName().getId()); // TODO getId() } return false; }
public CachedPlayer(Player player) { super(player); this.uuid = UUID.fromString(player.getUniqueId().toString()); this.name = player.getName(); this.isOnline = true; this.location = new CachedLocation(player.getLocation()); this.rotation = player.getRotation().clone(); this.velocity = player.getVelocity().clone(); this.scale = player.getScale().clone(); this.address = player.getConnection().getAddress().toString(); this.latency = player.getConnection().getLatency(); // Collect unlocked advancements for (AdvancementTree tree : player.getUnlockedAdvancementTrees()) { addUnlockedAdvancements(player, tree.getRootAdvancement()); } // This will be moved to the other constructor once Sponge implements the offline inventory API this.helmet = player.getHelmet().map(ItemStack::copy).orElse(null); this.chestplate = player.getChestplate().map(ItemStack::copy).orElse(null); this.leggings = player.getLeggings().map(ItemStack::copy).orElse(null); this.boots = player.getBoots().map(ItemStack::copy).orElse(null); this.inventory = new CachedInventory(player.getInventory()); }
outputBottles = player.getInventory().query(QueryOperationTypes.ITEM_TYPE.of(ItemTypes.GLASS_BOTTLE)) .poll(outputBottles).orElse(ItemStack.of(ItemTypes.GLASS_BOTTLE, 0)).getQuantity();
@Override public void run () { if(minecart.isRemoved()) return; if(giveItem.getValue() && player.gameMode().get() != GameModes.CREATIVE) { ItemStack stack = ItemStack.of(ItemTypes.MINECART, 1); if(!((Player) player).getInventory().offer(stack).getRejectedItems().isEmpty()) { Item item = (Item) player.getLocation().getExtent().createEntity(EntityTypes.ITEM, player.getLocation().getPosition().add(0, 1, 0)); item.offer(Keys.REPRESENTED_ITEM, stack.createSnapshot()); player.getLocation().getExtent().spawnEntity(item); } } minecart.remove(); } }
@Override public void run () { if(boat.isRemoved()) return; if(giveItem.getValue()) { ItemType boatType = ItemTypes.BOAT; TreeType treeType = boat.get(Keys.TREE_TYPE).orElse(TreeTypes.OAK); if (treeType == TreeTypes.OAK) { boatType = ItemTypes.BOAT; } else if (treeType == TreeTypes.ACACIA) { boatType = ItemTypes.ACACIA_BOAT; } else if (treeType == TreeTypes.BIRCH) { boatType = ItemTypes.BIRCH_BOAT; } else if (treeType == TreeTypes.DARK_OAK) { boatType = ItemTypes.DARK_OAK_BOAT; } else if (treeType == TreeTypes.JUNGLE) { boatType = ItemTypes.JUNGLE_BOAT; } else if (treeType == TreeTypes.SPRUCE) { boatType = ItemTypes.SPRUCE_BOAT; } ItemStack stack = ItemStack.of(boatType, 1); if(!((Player) player).getInventory().offer(stack).getRejectedItems().isEmpty()) { Item item = (Item) player.getLocation().getExtent().createEntity(EntityTypes.ITEM, player.getLocation().getPosition().add(0, 1, 0)); item.offer(Keys.REPRESENTED_ITEM, stack.createSnapshot()); player.getLocation().getExtent().spawnEntity(item); } } boat.remove(); } }
Inventory inv = live.getInventory(); for (EntityServlet.SlotRequest slotReq : req.getInventory()) { for (Inventory slot : inv.slots()) {