diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ExternalStorageNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ExternalStorageNetworkNode.java index 52b490d63..8cecc927b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ExternalStorageNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ExternalStorageNetworkNode.java @@ -230,8 +230,8 @@ public class ExternalStorageNetworkNode extends NetworkNode implements IStorageP } } - network.getNodeGraph().runActionWhenPossible(ItemStorageCache.INVALIDATE.apply(cause)); - network.getNodeGraph().runActionWhenPossible(FluidStorageCache.INVALIDATE.apply(cause)); + network.getNodeGraph().runActionWhenPossible(ItemStorageCache.INVALIDATE_ACTION.apply(cause)); + network.getNodeGraph().runActionWhenPossible(FluidStorageCache.INVALIDATE_ACTION.apply(cause)); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/NetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/NetworkNode.java index b384411d2..30faf6c35 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/NetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/NetworkNode.java @@ -26,7 +26,7 @@ import java.util.UUID; public abstract class NetworkNode implements INetworkNode, INetworkNodeVisitor { private static final String NBT_OWNER = "Owner"; private static final String NBT_VERSION = "Version"; - private static final int VERSION = 1; + private static final int CURRENT_VERSION = 1; @Nullable protected INetwork network; @@ -179,7 +179,7 @@ public abstract class NetworkNode implements INetworkNode, INetworkNodeVisitor { tag.putUniqueId(NBT_OWNER, owner); } - tag.putInt(NBT_VERSION, VERSION); + tag.putInt(NBT_VERSION, CURRENT_VERSION); writeConfiguration(tag); diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskdrive/DiskDriveNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskdrive/DiskDriveNetworkNode.java index fd0dfe7d5..b13d6386b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskdrive/DiskDriveNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/diskdrive/DiskDriveNetworkNode.java @@ -150,8 +150,8 @@ public class DiskDriveNetworkNode extends NetworkNode implements IStorageProvide LOGGER.debug("Connectivity state of disk drive at {} changed to {} due to {}", pos, state, cause); - network.getNodeGraph().runActionWhenPossible(ItemStorageCache.INVALIDATE.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); - network.getNodeGraph().runActionWhenPossible(FluidStorageCache.INVALIDATE.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); + network.getNodeGraph().runActionWhenPossible(ItemStorageCache.INVALIDATE_ACTION.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); + network.getNodeGraph().runActionWhenPossible(FluidStorageCache.INVALIDATE_ACTION.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); WorldUtils.updateBlock(world, pos); } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/FluidStorageNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/FluidStorageNetworkNode.java index a09691ba6..04337adb4 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/FluidStorageNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/FluidStorageNetworkNode.java @@ -98,7 +98,7 @@ public class FluidStorageNetworkNode extends NetworkNode implements IStorageScre LOGGER.debug("Connectivity state of fluid storage block at {} changed to {} due to {}", pos, state, cause); - network.getNodeGraph().runActionWhenPossible(FluidStorageCache.INVALIDATE.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); + network.getNodeGraph().runActionWhenPossible(FluidStorageCache.INVALIDATE_ACTION.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); } @Override @@ -144,7 +144,9 @@ public class FluidStorageNetworkNode extends NetworkNode implements IStorageScre IStorageDisk disk = API.instance().getStorageDiskManager((ServerWorld) world).get(storageId); if (disk == null) { - API.instance().getStorageDiskManager((ServerWorld) world).set(storageId, disk = API.instance().createDefaultFluidDisk((ServerWorld) world, type.getCapacity(), owner)); + disk = API.instance().createDefaultFluidDisk((ServerWorld) world, type.getCapacity(), owner); + + API.instance().getStorageDiskManager((ServerWorld) world).set(storageId, disk); API.instance().getStorageDiskManager((ServerWorld) world).markForSaving(); } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/StorageNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/StorageNetworkNode.java index 4741c5a24..34d43cca2 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/StorageNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/storage/StorageNetworkNode.java @@ -98,7 +98,7 @@ public class StorageNetworkNode extends NetworkNode implements IStorageScreen, I LOGGER.debug("Connectivity state of item storage block at {} changed to {} due to {}", pos, state, cause); - network.getNodeGraph().runActionWhenPossible(ItemStorageCache.INVALIDATE.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); + network.getNodeGraph().runActionWhenPossible(ItemStorageCache.INVALIDATE_ACTION.apply(InvalidateCause.CONNECTED_STATE_CHANGED)); } @Override @@ -144,7 +144,9 @@ public class StorageNetworkNode extends NetworkNode implements IStorageScreen, I IStorageDisk disk = API.instance().getStorageDiskManager((ServerWorld) world).get(storageId); if (disk == null) { - API.instance().getStorageDiskManager((ServerWorld) world).set(storageId, disk = API.instance().createDefaultItemDisk((ServerWorld) world, type.getCapacity(), owner)); + disk = API.instance().createDefaultItemDisk((ServerWorld) world, type.getCapacity(), owner); + + API.instance().getStorageDiskManager((ServerWorld) world).set(storageId, disk); API.instance().getStorageDiskManager((ServerWorld) world).markForSaving(); } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/FluidStorageCache.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/FluidStorageCache.java index d27eff63e..1330285b5 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/FluidStorageCache.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/FluidStorageCache.java @@ -24,7 +24,7 @@ import java.util.function.Consumer; import java.util.function.Function; public class FluidStorageCache implements IStorageCache { - public static final Function> INVALIDATE = cause -> network -> network.getFluidStorageCache().invalidate(cause); + public static final Function> INVALIDATE_ACTION = cause -> network -> network.getFluidStorageCache().invalidate(cause); private static final Logger LOGGER = LogManager.getLogger(FluidStorageCache.class); diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/ItemStorageCache.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/ItemStorageCache.java index aa7044f7a..195deab01 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/ItemStorageCache.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/ItemStorageCache.java @@ -24,7 +24,7 @@ import java.util.function.Consumer; import java.util.function.Function; public class ItemStorageCache implements IStorageCache { - public static final Function> INVALIDATE = cause -> network -> network.getItemStorageCache().invalidate(cause); + public static final Function> INVALIDATE_ACTION = cause -> network -> network.getItemStorageCache().invalidate(cause); private static final Logger LOGGER = LogManager.getLogger(ItemStorageCache.class); diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableFluidStorageCache.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableFluidStorageCache.java index 1eb03a182..560d09d1e 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableFluidStorageCache.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableFluidStorageCache.java @@ -87,7 +87,7 @@ public class PortableFluidStorageCache implements IStorageCache { @Override public IStackList getCraftablesList() { - throw new RuntimeException("Unsupported"); + throw new UnsupportedOperationException(); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableItemStorageCache.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableItemStorageCache.java index c0a4f538b..0ae28176a 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableItemStorageCache.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/storage/cache/PortableItemStorageCache.java @@ -55,7 +55,7 @@ public class PortableItemStorageCache implements IStorageCache { @Override public void flush() { - throw new UnsupportedOperationException("Cannot flush portable grid storage cache"); + throw new UnsupportedOperationException(); } @Override @@ -87,7 +87,7 @@ public class PortableItemStorageCache implements IStorageCache { @Override public IStackList getCraftablesList() { - throw new RuntimeException("Unsupported"); + throw new UnsupportedOperationException(); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/block/BlockDirection.java b/src/main/java/com/refinedmods/refinedstorage/block/BlockDirection.java index b2c21b7f2..0a57fcfe6 100644 --- a/src/main/java/com/refinedmods/refinedstorage/block/BlockDirection.java +++ b/src/main/java/com/refinedmods/refinedstorage/block/BlockDirection.java @@ -33,7 +33,7 @@ public enum BlockDirection { case HORIZONTAL: return entity.getHorizontalFacing().getOpposite(); default: - throw new RuntimeException("Unknown direction type"); + throw new IllegalStateException("Unknown direction type"); } } @@ -45,7 +45,7 @@ public enum BlockDirection { case HORIZONTAL: return previous.rotateYCCW(); default: - throw new RuntimeException("Unknown direction type"); + throw new IllegalStateException("Unknown direction type"); } } } diff --git a/src/main/java/com/refinedmods/refinedstorage/command/network/ListNetworkCommand.java b/src/main/java/com/refinedmods/refinedstorage/command/network/ListNetworkCommand.java index 6ca6422df..e9f3fe3b7 100644 --- a/src/main/java/com/refinedmods/refinedstorage/command/network/ListNetworkCommand.java +++ b/src/main/java/com/refinedmods/refinedstorage/command/network/ListNetworkCommand.java @@ -51,6 +51,14 @@ public class ListNetworkCommand implements Command { this.tickTime = mean(network.getTickTimes()) * 1.0E-6D; this.tps = Math.min(1000.0 / tickTime, 20); } + + private long mean(long[] values) { + long sum = 0L; + for (long v : values) { + sum += v; + } + return sum / values.length; + } } public static void sendInfo(CommandContext context, NetworkInList listItem, boolean detailed) { @@ -83,12 +91,4 @@ public class ListNetworkCommand implements Command { ), false); } } - - private static long mean(long[] values) { - long sum = 0L; - for (long v : values) { - sum += v; - } - return sum / values.length; - } } diff --git a/src/main/java/com/refinedmods/refinedstorage/container/CrafterManagerContainer.java b/src/main/java/com/refinedmods/refinedstorage/container/CrafterManagerContainer.java index 7c5b03820..79bae99d8 100644 --- a/src/main/java/com/refinedmods/refinedstorage/container/CrafterManagerContainer.java +++ b/src/main/java/com/refinedmods/refinedstorage/container/CrafterManagerContainer.java @@ -82,7 +82,7 @@ public class CrafterManagerContainer extends BaseContainer { if (data == null) { // We're only resizing, get the previous inventory... dummy = dummyInventories.get(category.getKey()); } else { - dummyInventories.put(category.getKey(), dummy = new BaseItemHandler(category.getValue()) { + dummy = new BaseItemHandler(category.getValue()) { @Override public int getSlotLimit(int slot) { return 1; @@ -97,7 +97,9 @@ public class CrafterManagerContainer extends BaseContainer { return stack; } - }); + }; + + dummyInventories.put(category.getKey(), dummy); } boolean foundItemsInCategory = false; diff --git a/src/main/java/com/refinedmods/refinedstorage/container/GridContainer.java b/src/main/java/com/refinedmods/refinedstorage/container/GridContainer.java index a3ce8b7bf..be9c841e6 100644 --- a/src/main/java/com/refinedmods/refinedstorage/container/GridContainer.java +++ b/src/main/java/com/refinedmods/refinedstorage/container/GridContainer.java @@ -157,7 +157,8 @@ public class GridContainer extends BaseContainer implements ICraftingGridListene } } - addSlot(craftingResultSlot = new ResultCraftingGridSlot(getPlayer(), grid, 0, 130 + 4, headerAndSlots + 22)); + craftingResultSlot = new ResultCraftingGridSlot(getPlayer(), grid, 0, 130 + 4, headerAndSlots + 22); + addSlot(craftingResultSlot); } private void addPatternSlots() { @@ -216,7 +217,8 @@ public class GridContainer extends BaseContainer implements ICraftingGridListene } } - addSlot(patternResultSlot = (new LegacyDisabledSlot(grid.getCraftingResult(), 0, 134, headerAndSlots + 22).setEnableHandler(() -> !((GridNetworkNode) grid).isProcessingPattern()))); + patternResultSlot = new LegacyDisabledSlot(grid.getCraftingResult(), 0, 134, headerAndSlots + 22).setEnableHandler(() -> !((GridNetworkNode) grid).isProcessingPattern()); + addSlot(patternResultSlot); } public IGrid getGrid() { diff --git a/src/main/java/com/refinedmods/refinedstorage/container/slot/BaseSlot.java b/src/main/java/com/refinedmods/refinedstorage/container/slot/BaseSlot.java index c46b1baf7..2a679f946 100644 --- a/src/main/java/com/refinedmods/refinedstorage/container/slot/BaseSlot.java +++ b/src/main/java/com/refinedmods/refinedstorage/container/slot/BaseSlot.java @@ -3,16 +3,16 @@ package com.refinedmods.refinedstorage.container.slot; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.SlotItemHandler; -import java.util.function.Supplier; +import java.util.function.BooleanSupplier; public class BaseSlot extends SlotItemHandler { - private Supplier enableHandler = () -> true; + private BooleanSupplier enableHandler = () -> true; public BaseSlot(IItemHandler itemHandler, int inventoryIndex, int x, int y) { super(itemHandler, inventoryIndex, x, y); } - public BaseSlot setEnableHandler(Supplier enableHandler) { + public BaseSlot setEnableHandler(BooleanSupplier enableHandler) { this.enableHandler = enableHandler; return this; @@ -20,6 +20,6 @@ public class BaseSlot extends SlotItemHandler { @Override public boolean isEnabled() { - return enableHandler.get(); + return enableHandler.getAsBoolean(); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/container/slot/legacy/LegacyBaseSlot.java b/src/main/java/com/refinedmods/refinedstorage/container/slot/legacy/LegacyBaseSlot.java index aa7008220..b9dcac2ac 100644 --- a/src/main/java/com/refinedmods/refinedstorage/container/slot/legacy/LegacyBaseSlot.java +++ b/src/main/java/com/refinedmods/refinedstorage/container/slot/legacy/LegacyBaseSlot.java @@ -3,16 +3,16 @@ package com.refinedmods.refinedstorage.container.slot.legacy; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.container.Slot; -import java.util.function.Supplier; +import java.util.function.BooleanSupplier; public class LegacyBaseSlot extends Slot { - private Supplier enableHandler = () -> true; + private BooleanSupplier enableHandler = () -> true; public LegacyBaseSlot(IInventory inventory, int inventoryIndex, int x, int y) { super(inventory, inventoryIndex, x, y); } - public LegacyBaseSlot setEnableHandler(Supplier enableHandler) { + public LegacyBaseSlot setEnableHandler(BooleanSupplier enableHandler) { this.enableHandler = enableHandler; return this; @@ -20,7 +20,6 @@ public class LegacyBaseSlot extends Slot { @Override public boolean isEnabled() { - return enableHandler.get(); + return enableHandler.getAsBoolean(); } - } diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java index 62a503e45..495192f7c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/RecipeGenerator.java @@ -16,52 +16,48 @@ import net.minecraft.util.ResourceLocation; import java.util.function.Consumer; public class RecipeGenerator extends RecipeProvider { + private static final String GRID_ID = RS.ID + ":grid"; + public RecipeGenerator(DataGenerator generator) { super(generator); } @Override - protected void registerRecipes(Consumer consumer) { - //Tag + Color -> Colored Block - RSItems.COLORED_ITEM_TAGS.forEach((tag, map) -> { - map.forEach((color, item) -> { - ShapelessRecipeBuilder.shapelessRecipe(item.get()) - .addIngredient(tag) - .addIngredient(color.getTag()) - .setGroup(RS.ID) - .addCriterion("refinedstorage:controller", InventoryChangeTrigger.Instance.forItems(RSItems.CONTROLLER.get(ColorMap.DEFAULT_COLOR).get())) - .build(consumer, new ResourceLocation(RS.ID, "coloring_recipes/" + item.getId().getPath())); - }); - }); + protected void registerRecipes(Consumer recipeAcceptor) { + // Tag + Color -> Colored Block + RSItems.COLORED_ITEM_TAGS.forEach((tag, map) -> map.forEach((color, item) -> ShapelessRecipeBuilder.shapelessRecipe(item.get()) + .addIngredient(tag) + .addIngredient(color.getTag()) + .setGroup(RS.ID) + .addCriterion("refinedstorage:controller", InventoryChangeTrigger.Instance.forItems(RSItems.CONTROLLER.get(ColorMap.DEFAULT_COLOR).get())) + .build(recipeAcceptor, new ResourceLocation(RS.ID, "coloring_recipes/" + item.getId().getPath())) + )); - //Crafting Grid - RSItems.CRAFTING_GRID.forEach((color, item) -> { - ShapelessRecipeBuilder.shapelessRecipe(item.get()) - .addIngredient(RSItems.GRID.get(color).get()) - .addIngredient(RSItems.PROCESSORS.get(ProcessorItem.Type.ADVANCED).get()) - .addIngredient(ItemTags.makeWrapperTag("refinedstorage:crafting_tables")) - .addCriterion("refinedstorage:grid", InventoryChangeTrigger.Instance.forItems(RSItems.GRID.get(ColorMap.DEFAULT_COLOR).get())) - .build(consumer, new ResourceLocation(RS.ID, "crafting_grid/" + item.getId().getPath())); - }); + // Crafting Grid + RSItems.CRAFTING_GRID.forEach((color, item) -> ShapelessRecipeBuilder.shapelessRecipe(item.get()) + .addIngredient(RSItems.GRID.get(color).get()) + .addIngredient(RSItems.PROCESSORS.get(ProcessorItem.Type.ADVANCED).get()) + .addIngredient(ItemTags.makeWrapperTag("refinedstorage:crafting_tables")) + .addCriterion(GRID_ID, InventoryChangeTrigger.Instance.forItems(RSItems.GRID.get(ColorMap.DEFAULT_COLOR).get())) + .build(recipeAcceptor, new ResourceLocation(RS.ID, "crafting_grid/" + item.getId().getPath())) + ); - //Fluid Grid - RSItems.FLUID_GRID.forEach((color, item) -> { - ShapelessRecipeBuilder.shapelessRecipe(item.get()) - .addIngredient(RSItems.GRID.get(color).get()) - .addIngredient(RSItems.PROCESSORS.get(ProcessorItem.Type.ADVANCED).get()) - .addIngredient(Items.BUCKET) - .addCriterion("refinedstorage:grid", InventoryChangeTrigger.Instance.forItems(RSItems.GRID.get(ColorMap.DEFAULT_COLOR).get())) - .build(consumer, new ResourceLocation(RS.ID, "fluid_grid/" + item.getId().getPath())); - }); + // Fluid Grid + RSItems.FLUID_GRID.forEach((color, item) -> ShapelessRecipeBuilder.shapelessRecipe(item.get()) + .addIngredient(RSItems.GRID.get(color).get()) + .addIngredient(RSItems.PROCESSORS.get(ProcessorItem.Type.ADVANCED).get()) + .addIngredient(Items.BUCKET) + .addCriterion(GRID_ID, InventoryChangeTrigger.Instance.forItems(RSItems.GRID.get(ColorMap.DEFAULT_COLOR).get())) + .build(recipeAcceptor, new ResourceLocation(RS.ID, "fluid_grid/" + item.getId().getPath())) + ); - //Pattern Grid - RSItems.PATTERN_GRID.forEach((color, item) -> { - ShapelessRecipeBuilder.shapelessRecipe(item.get()) - .addIngredient(RSItems.GRID.get(color).get()) - .addIngredient(RSItems.PROCESSORS.get(ProcessorItem.Type.ADVANCED).get()) - .addIngredient(RSItems.PATTERN.get()) - .addCriterion("refinedstorage:grid", InventoryChangeTrigger.Instance.forItems(RSItems.GRID.get(ColorMap.DEFAULT_COLOR).get())) - .build(consumer, new ResourceLocation(RS.ID, "pattern_grid/" + item.getId().getPath())); - }); + // Pattern Grid + RSItems.PATTERN_GRID.forEach((color, item) -> ShapelessRecipeBuilder.shapelessRecipe(item.get()) + .addIngredient(RSItems.GRID.get(color).get()) + .addIngredient(RSItems.PROCESSORS.get(ProcessorItem.Type.ADVANCED).get()) + .addIngredient(RSItems.PATTERN.get()) + .addCriterion(GRID_ID, InventoryChangeTrigger.Instance.forItems(RSItems.GRID.get(ColorMap.DEFAULT_COLOR).get())) + .build(recipeAcceptor, new ResourceLocation(RS.ID, "pattern_grid/" + item.getId().getPath())) + ); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/render/model/DiskDriveBakedModel.java b/src/main/java/com/refinedmods/refinedstorage/render/model/DiskDriveBakedModel.java index a0cb5a10d..3ad7d016b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/model/DiskDriveBakedModel.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/model/DiskDriveBakedModel.java @@ -104,6 +104,33 @@ public class DiskDriveBakedModel extends DelegateBakedModel { return quads; } + + private IBakedModel getDiskModel(DiskState diskState) { + switch (diskState) { + case DISCONNECTED: + return diskDisconnected; + case NEAR_CAPACITY: + return diskNearCapacity; + case FULL: + return diskFull; + default: + return disk; + } + } + + private Vector3f getDiskTranslation(Direction facing, int x, int y) { + Vector3f translation = new Vector3f(); + + if (facing == Direction.NORTH || facing == Direction.SOUTH) { + translation.add(((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1), 0, 0); // Add to X + } else if (facing == Direction.EAST || facing == Direction.WEST) { + translation.add(0, 0, ((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1)); // Add to Z + } + + translation.add(0, -((2F / 16F) + ((float) y * 3F) / 16F), 0); // Remove from Y + + return translation; + } }); public DiskDriveBakedModel(IBakedModel base, @@ -119,33 +146,6 @@ public class DiskDriveBakedModel extends DelegateBakedModel { this.diskDisconnected = diskDisconnected; } - private IBakedModel getDiskModel(DiskState diskState) { - switch (diskState) { - case DISCONNECTED: - return diskDisconnected; - case NEAR_CAPACITY: - return diskNearCapacity; - case FULL: - return diskFull; - default: - return disk; - } - } - - private Vector3f getDiskTranslation(Direction facing, int x, int y) { - Vector3f translation = new Vector3f(); - - if (facing == Direction.NORTH || facing == Direction.SOUTH) { - translation.add(((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1), 0, 0); // Add to X - } else if (facing == Direction.EAST || facing == Direction.WEST) { - translation.add(0, 0, ((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1)); // Add to Z - } - - translation.add(0, -((2F / 16F) + ((float) y * 3F) / 16F), 0); // Remove from Y - - return translation; - } - @Nonnull @Override public List getQuads(@Nullable BlockState state, @Nullable Direction side, @Nonnull Random rand, @Nonnull IModelData data) { diff --git a/src/main/java/com/refinedmods/refinedstorage/render/model/DiskManipulatorBakedModel.java b/src/main/java/com/refinedmods/refinedstorage/render/model/DiskManipulatorBakedModel.java index e058d055b..9b8b004a2 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/model/DiskManipulatorBakedModel.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/model/DiskManipulatorBakedModel.java @@ -116,6 +116,33 @@ public class DiskManipulatorBakedModel extends DelegateBakedModel { return quads; } + + private IBakedModel getDiskModel(DiskState diskState) { + switch (diskState) { + case DISCONNECTED: + return diskDisconnected; + case NEAR_CAPACITY: + return diskNearCapacity; + case FULL: + return diskFull; + default: + return disk; + } + } + + private Vector3f getDiskTranslation(Direction facing, int x, int y) { + Vector3f translation = new Vector3f(); + + if (facing == Direction.NORTH || facing == Direction.SOUTH) { + translation.add((2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1), 0, 0); // Add to X + } else if (facing == Direction.EAST || facing == Direction.WEST) { + translation.add(0, 0, (2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1)); // Add to Z + } + + translation.add(0, -((6F / 16F) + (3F * y) / 16F), 0); // Remove from Y + + return translation; + } }); public DiskManipulatorBakedModel(IBakedModel baseConnected, IBakedModel baseDisconnected, IBakedModel disk, IBakedModel diskNearCapacity, IBakedModel diskFull, IBakedModel diskDisconnected) { @@ -129,33 +156,6 @@ public class DiskManipulatorBakedModel extends DelegateBakedModel { this.diskDisconnected = diskDisconnected; } - private IBakedModel getDiskModel(DiskState diskState) { - switch (diskState) { - case DISCONNECTED: - return diskDisconnected; - case NEAR_CAPACITY: - return diskNearCapacity; - case FULL: - return diskFull; - default: - return disk; - } - } - - private Vector3f getDiskTranslation(Direction facing, int x, int y) { - Vector3f translation = new Vector3f(); - - if (facing == Direction.NORTH || facing == Direction.SOUTH) { - translation.add((2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1), 0, 0); // Add to X - } else if (facing == Direction.EAST || facing == Direction.WEST) { - translation.add(0, 0, (2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1)); // Add to Z - } - - translation.add(0, -((6F / 16F) + (3F * y) / 16F), 0); // Remove from Y - - return translation; - } - @Override @Nonnull public List getQuads(@Nullable BlockState state, @Nullable Direction side, @Nonnull Random rand, @Nonnull IModelData data) { diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/FluidAmountScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/FluidAmountScreen.java index 6d5393a78..e0b410b4f 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/FluidAmountScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/FluidAmountScreen.java @@ -12,16 +12,16 @@ import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.tuple.Pair; import javax.annotation.Nullable; -import java.util.function.Function; +import java.util.function.UnaryOperator; public class FluidAmountScreen extends AmountSpecifyingScreen { private final int containerSlot; private final FluidStack stack; private final int maxAmount; @Nullable - private final Function alternativesScreenFactory; + private final UnaryOperator alternativesScreenFactory; - public FluidAmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, FluidStack stack, int maxAmount, @Nullable Function alternativesScreenFactory) { + public FluidAmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, FluidStack stack, int maxAmount, @Nullable UnaryOperator alternativesScreenFactory) { super(parent, new FluidAmountContainer(player, stack), alternativesScreenFactory != null ? 194 : 172, 99, player.inventory, new TranslationTextComponent("gui.refinedstorage.fluid_amount")); this.containerSlot = containerSlot; diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/ItemAmountScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/ItemAmountScreen.java index d3e278ef8..260a692f1 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/ItemAmountScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/ItemAmountScreen.java @@ -12,16 +12,16 @@ import net.minecraftforge.items.ItemHandlerHelper; import org.apache.commons.lang3.tuple.Pair; import javax.annotation.Nullable; -import java.util.function.Function; +import java.util.function.UnaryOperator; public class ItemAmountScreen extends AmountSpecifyingScreen { private final int containerSlot; private final ItemStack stack; private final int maxAmount; @Nullable - private final Function alternativesScreenFactory; + private final UnaryOperator alternativesScreenFactory; - public ItemAmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, ItemStack stack, int maxAmount, @Nullable Function alternativesScreenFactory) { + public ItemAmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, ItemStack stack, int maxAmount, @Nullable UnaryOperator alternativesScreenFactory) { super(parent, new AmountContainer(player, stack), alternativesScreenFactory != null ? 194 : 172, 99, player.inventory, new TranslationTextComponent("gui.refinedstorage.item_amount")); this.containerSlot = containerSlot; diff --git a/src/main/java/com/refinedmods/refinedstorage/tile/NetworkNodeTile.java b/src/main/java/com/refinedmods/refinedstorage/tile/NetworkNodeTile.java index 21b799cd2..cb4e27272 100644 --- a/src/main/java/com/refinedmods/refinedstorage/tile/NetworkNodeTile.java +++ b/src/main/java/com/refinedmods/refinedstorage/tile/NetworkNodeTile.java @@ -62,7 +62,7 @@ public abstract class NetworkNodeTile extends BaseTile im INetworkNode node = manager.getNode(pos); if (node == null) { - throw new RuntimeException("No network node present at " + pos.toString() + ", consider removing the block at this position"); + throw new IllegalStateException("No network node present at " + pos.toString() + ", consider removing the block at this position"); } return (N) node; diff --git a/src/main/java/com/refinedmods/refinedstorage/tile/data/TileDataManager.java b/src/main/java/com/refinedmods/refinedstorage/tile/data/TileDataManager.java index 2328419cf..983132efc 100644 --- a/src/main/java/com/refinedmods/refinedstorage/tile/data/TileDataManager.java +++ b/src/main/java/com/refinedmods/refinedstorage/tile/data/TileDataManager.java @@ -11,7 +11,7 @@ import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; public class TileDataManager { - private static int LAST_ID = 0; + private static int lastId = 0; private static final Map REGISTRY = new HashMap<>(); private final TileEntity tile; @@ -60,9 +60,9 @@ public class TileDataManager { } public static void registerParameter(TileDataParameter parameter) { - parameter.setId(LAST_ID); + parameter.setId(lastId); - REGISTRY.put(LAST_ID++, parameter); + REGISTRY.put(lastId++, parameter); } public static TileDataParameter getParameter(int id) {