Skip to content

Commit

Permalink
chore: fix checkstyle warnings in MultiInvStorageHandler
Browse files Browse the repository at this point in the history
  • Loading branch information
skaldarnar committed Aug 28, 2021
1 parent ff072b2 commit bc892fb
Showing 1 changed file with 25 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,22 @@
@RegisterSystem(RegisterMode.AUTHORITY)
public class MultiInvStorageHandler extends BaseComponentSystem implements StorageComponentHandler<MultiInvStorageComponent> {

private static final Logger logger = LoggerFactory.getLogger(MultiInvStorageHandler.class);

@In
private AssetManager assetManager;

@In
private EntityManager entityManager;

@In
private BlockCommands blockCommands;

@In
private BlockManager blockManager;

@In
private InventoryManager inventoryManager;

private BlockItemFactory blockItemFactory;
private Logger logger = LoggerFactory.getLogger(MultiInvStorageHandler.class);

private ResourceUrn blockItemBase;

@Override
Expand All @@ -73,55 +72,56 @@ public void postBegin() {
@Override
public int store(MultiInvStorageComponent multiInvStorageComponent, String resource, int amount) {
EntityRef item = getItemEntity(resource);
byte byteAmount;

if (item == EntityRef.NULL) {
return amount;
}




for (EntityRef entityRef : multiInvStorageComponent.chests) {
int amountForChest = getItemCapacityForChest(entityRef, item);
amountForChest = (amountForChest > amount) ? amount : amountForChest;
int remaining = amount;
for (EntityRef chest : multiInvStorageComponent.chests) {
final int amountForChest = Math.min(getItemCapacityForChest(chest, item), remaining);
final byte byteAmount;
if (amountForChest >= Byte.MAX_VALUE) {
byteAmount = Byte.MAX_VALUE;
} else {
byteAmount = (byte) amountForChest;
}

ItemComponent itemComponent = item.getComponent(ItemComponent.class);
itemComponent.stackCount = byteAmount;
item.saveComponent(itemComponent);
inventoryManager.giveItem(entityRef, EntityRef.NULL, item);
amount -= amountForChest;

if (amount == 0) {
inventoryManager.giveItem(chest, EntityRef.NULL, item);

remaining -= byteAmount;

if (remaining == 0) {
return 0;
}
}
return amount;

return remaining;
}

@Override
public int draw(MultiInvStorageComponent multiInvStorageComponent, String resource, int amount) {
EntityRef item = getItemEntity(resource);

for (EntityRef entityRef : multiInvStorageComponent.chests) {
int amountForChest = getItemCountForChest(entityRef, item);
int remaining = amount;
for (EntityRef chest : multiInvStorageComponent.chests) {
int amountForChest = getItemCountForChest(chest, item);
while (amountForChest != 0) {
int slot = getSlotWithItem(entityRef, item);
int slot = getSlotWithItem(chest, item);
if (slot == -1) {
break;
}
int amountForSlot = InventoryUtils.getStackCount(InventoryUtils.getItemAt(entityRef, slot));
if (inventoryManager.removeItem(entityRef, EntityRef.NULL, slot, true, amountForSlot) != null) {
amount -= amountForSlot;
int amountForSlot = InventoryUtils.getStackCount(InventoryUtils.getItemAt(chest, slot));
if (inventoryManager.removeItem(chest, EntityRef.NULL, slot, true, amountForSlot) != null) {
remaining -= amountForSlot;
}
}

}
return amount;
return remaining;
}

@Override
Expand All @@ -137,13 +137,8 @@ public int availableResourceAmount(MultiInvStorageComponent multiInvStorageCompo
@Override
public Set<String> availableResourceTypes(MultiInvStorageComponent multiInvStorageComponent) {
Set<String> result = new HashSet<>();
int amount = 0;
for (EntityRef entityRef : multiInvStorageComponent.chests) {
for (String resource : getResourceTypesOfInventory(entityRef)) {
if (!result.contains(resource)) {
result.add(resource);
}
}
result.addAll(getResourceTypesOfInventory(entityRef));
}
return result;
}
Expand Down Expand Up @@ -256,7 +251,7 @@ private Set<String> getResourceTypesOfInventory(EntityRef entity) {
if (!entity.exists() || !entity.isActive()) {
return set;
}
for(EntityRef item : inventoryComponent.itemSlots) {
for (EntityRef item : inventoryComponent.itemSlots) {
ItemComponent itemComponent = item.getComponent(ItemComponent.class);
if (itemComponent != null && !set.contains(itemComponent.stackId)) {
ResourceUrn uri = item.getParentPrefab().getUrn();
Expand Down

0 comments on commit bc892fb

Please sign in to comment.