use of org.spongepowered.api.item.inventory.query.QueryOperation in project modules-extra by CubeEngine.
the class Network method queryFiltered.
private Inventory queryFiltered(List<ItemStack> filters, Inventory inventory) {
if (filters.isEmpty()) {
return inventory;
}
QueryOperation[] ops = new QueryOperation[filters.size()];
for (int i = 0; i < filters.size(); i++) {
ItemStack filter = filters.get(i);
ops[i] = QueryOperationTypes.ITEM_STACK_IGNORE_QUANTITY.of(filter);
}
return inventory.query(ops);
}
use of org.spongepowered.api.item.inventory.query.QueryOperation in project Skree by Skelril.
the class GoldRushInstance method tryToStart.
public void tryToStart() {
BigDecimal coffersNeeded = getCoffersNeeded();
if (coffersNeeded.compareTo(BigDecimal.ZERO) >= 0) {
MessageChannel channel = getPlayerMessageChannel(PlayerClassifier.SPECTATOR);
channel.send(Text.of(TextColors.RED, "Your party doesn't have a high enough coffer risk!"));
channel.send(Text.of(TextColors.RED, "At least ", coffersNeeded, " more coffers must be risked."));
return;
}
Optional<PlayerStateService> optService = Sponge.getServiceManager().provide(PlayerStateService.class);
for (Player player : getPlayers(PlayerClassifier.PARTICIPANT)) {
if (optService.isPresent()) {
PlayerStateService service = optService.get();
try {
service.storeInventory(player);
service.releaseInventory(player);
player.getInventory().clear();
} catch (InventoryStorageStateException e) {
e.printStackTrace();
player.sendMessage(Text.of(TextColors.RED, "An error occurred while saving your inventory, contact an admin!"));
return;
}
} else {
QueryOperation[] queries = new QueryOperation[] { QueryOperationTypes.INVENTORY_TYPE.of(PlayerInventory.class), QueryOperationTypes.INVENTORY_TYPE.of(EquipmentInventory.class) };
if (player.getInventory().query(queries).size() > 0) {
getPlayerMessageChannel(PlayerClassifier.SPECTATOR).send(Text.of(TextColors.RED, "All players inventories must be empty."));
return;
}
}
}
readyPlayers();
calculateLootSplit();
// Reset tryToStart clock
startTime = System.currentTimeMillis();
// Add content
populateChest();
runLavaChance();
setFloodStartTime();
}
use of org.spongepowered.api.item.inventory.query.QueryOperation in project SpongeCommon by SpongePowered.
the class IMixinSingleBlockCarrier method getInventory.
static Inventory getInventory(Direction from, BlockCarrier thisThing) {
if (thisThing instanceof ISidedInventory) {
EnumFacing facing = DirectionFacingProvider.getInstance().get(from).get();
int[] slots = ((ISidedInventory) thisThing).getSlotsForFace(facing);
QueryOperation<?>[] indices = new QueryOperation[slots.length];
for (int i = 0; i < slots.length; i++) {
indices[i] = QueryOperationTypes.INVENTORY_PROPERTY.of(SlotIndex.of(slots[i]));
}
return thisThing.getInventory().query(indices);
}
return thisThing.getInventory();
}
Aggregations