Merge remote-tracking branch 'origin/mc1.10' into mc1.10
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
- Fixed items with colored name being uncolored in Grid (raoulvdberge)
|
- Fixed items with colored name being uncolored in Grid (raoulvdberge)
|
||||||
- Fixed fluid rendering bugging out side buttons (raoulvdberge)
|
- Fixed fluid rendering bugging out side buttons (raoulvdberge)
|
||||||
- Fixed item count going negative in some cases (raoulvdberge)
|
- Fixed item count going negative in some cases (raoulvdberge)
|
||||||
|
- Fixed Storage Drawer quantities not updating properly on Void Drawers (geldorn)
|
||||||
- Updated Storage Drawers API (raoulvdberge)
|
- Updated Storage Drawers API (raoulvdberge)
|
||||||
|
|
||||||
### 1.1.3
|
### 1.1.3
|
||||||
|
|||||||
@@ -41,47 +41,30 @@ public class ItemStorageDrawer extends ItemStorageExternal {
|
|||||||
@Override
|
@Override
|
||||||
public ItemStack insertItem(ItemStack stack, int size, boolean simulate) {
|
public ItemStack insertItem(ItemStack stack, int size, boolean simulate) {
|
||||||
if (IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && drawer.canItemBeStored(stack)) {
|
if (IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && drawer.canItemBeStored(stack)) {
|
||||||
if (!drawer.isEmpty()) {
|
int stored = drawer.getStoredItemCount();
|
||||||
if (getStored() + size > drawer.getMaxCapacity(stack)) {
|
int remainingSpace = drawer.getMaxCapacity(stack) - stored;
|
||||||
int remainingSpace = getCapacity() - getStored();
|
|
||||||
|
|
||||||
if (remainingSpace <= 0) {
|
int inserted = remainingSpace > size ? size : (remainingSpace <= 0) ? 0 : remainingSpace;
|
||||||
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!simulate) {
|
if (!simulate && remainingSpace > 0) {
|
||||||
drawer.setStoredItemCount(drawer.getStoredItemCount() + remainingSpace);
|
if (drawer.isEmpty()) {
|
||||||
}
|
drawer.setStoredItemRedir(stack, inserted);
|
||||||
|
|
||||||
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
|
|
||||||
} else {
|
} else {
|
||||||
if (!simulate) {
|
drawer.setStoredItemCount(stored + inserted);
|
||||||
drawer.setStoredItemCount(drawer.getStoredItemCount() + size);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (inserted == size) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if (getStored() + size > drawer.getMaxCapacity(stack)) {
|
|
||||||
int remainingSpace = getCapacity() - getStored();
|
|
||||||
|
|
||||||
if (remainingSpace <= 0) {
|
int returnSize = size - inserted;
|
||||||
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size);
|
|
||||||
|
if (isVoidable()) {
|
||||||
|
returnSize = -returnSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!simulate) {
|
return ItemHandlerHelper.copyStackWithSize(stack, returnSize);
|
||||||
drawer.setStoredItemRedir(stack, remainingSpace);
|
|
||||||
}
|
|
||||||
|
|
||||||
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
|
|
||||||
} else {
|
|
||||||
if (!simulate) {
|
|
||||||
drawer.setStoredItemRedir(stack, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
||||||
|
|||||||
Reference in New Issue
Block a user