From e46046418fca514b58c3abb93e1b9b98d5361ce7 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sat, 8 Jul 2023 15:02:37 +0200 Subject: [PATCH 01/16] docs: update javadoc links --- .github/CONTRIBUTING.md | 4 ++-- README.md | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 61453b754c..0e26cfd6e3 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -88,7 +88,7 @@ Documentation must be kept up to date when adding or changing functionality. ### Javadoc -Javadoc is available after every release on https://refinedmods.com/refinedstorage/. +Javadoc is available after every release on https://refinedmods.com/javadoc/refinedstorage. ### API annotations @@ -196,7 +196,7 @@ The workflow takes care of the following: - Running a build. - Publishing on [GitHub packages](https://github.com/refinedmods/refinedstorage/packages) and CreeperHost Maven. -- Publishing Javadoc on [GitHub pages](https://github.com/refinedmods/refinedstorage/tree/gh-pages). +- Publishing Javadoc on [GitHub pages](https://github.com/refinedmods/javadoc). - Deploying on [GitHub releases](https://github.com/refinedmods/refinedstorage/releases). - Announcing the release on Discord and Twitter. - Creating a PR that merges `main` back into `develop` to get the changes to `CHANGELOG.md` and `build.gradle` diff --git a/README.md b/README.md index 79e42d0460..38d69a2849 100755 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ this mod that allow the player to setup auto-crafting, allowing the crafting of - [CurseForge](https://curseforge.com/minecraft/mc-mods/refined-storage) - [Modrinth](https://modrinth.com/mod/refined-storage) - [Wiki](https://refinedmods.com/refined-storage/) +- [Javadoc](https://refinedmods.com/javadoc/refinedstorage) - [Discord](https://discordapp.com/invite/VYzsydb) - [Twitter](https://twitter.com/refinedmods) - [Mastodon](https://anvil.social/@refinedmods) From 327c97b58d13c152ea58b8fc53cf6ff08f47c51d Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 00:21:26 +0100 Subject: [PATCH 02/16] fix: attempt to fix issue with grid not loading items when loading --- build.gradle | 9 +++++++++ .../network/grid/GridFluidUpdateMessage.java | 2 +- .../network/grid/GridItemUpdateMessage.java | 2 +- .../network/grid/PortableGridFluidUpdateMessage.java | 2 +- .../network/grid/PortableGridItemUpdateMessage.java | 2 +- .../refinedstorage/screen/grid/view/GridViewImpl.java | 11 ++++++++--- .../refinedstorage/screen/grid/view/IGridView.java | 2 ++ 7 files changed, 23 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 665e633f02..bfceca6837 100755 --- a/build.gradle +++ b/build.gradle @@ -43,3 +43,12 @@ dependencies { // can't depend on API due to Javadoc build error (CuriosApi imports stuff from common) compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1") } + +minecraft { + runs { + client { + property 'mixin.env.remapRefMap', 'true' + property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + } + } +} \ No newline at end of file diff --git a/src/main/java/com/refinedmods/refinedstorage/network/grid/GridFluidUpdateMessage.java b/src/main/java/com/refinedmods/refinedstorage/network/grid/GridFluidUpdateMessage.java index cf4198a8be..d37d35a034 100644 --- a/src/main/java/com/refinedmods/refinedstorage/network/grid/GridFluidUpdateMessage.java +++ b/src/main/java/com/refinedmods/refinedstorage/network/grid/GridFluidUpdateMessage.java @@ -70,7 +70,7 @@ public static void handle(GridFluidUpdateMessage message, Supplier { grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters())); grid.getView().setStacks(message.stacks); - grid.getView().sort(); + grid.getView().forceSort(); }); ctx.get().setPacketHandled(true); diff --git a/src/main/java/com/refinedmods/refinedstorage/network/grid/PortableGridItemUpdateMessage.java b/src/main/java/com/refinedmods/refinedstorage/network/grid/PortableGridItemUpdateMessage.java index f7e52b4de5..e816c45350 100644 --- a/src/main/java/com/refinedmods/refinedstorage/network/grid/PortableGridItemUpdateMessage.java +++ b/src/main/java/com/refinedmods/refinedstorage/network/grid/PortableGridItemUpdateMessage.java @@ -54,7 +54,7 @@ public static void handle(PortableGridItemUpdateMessage message, Supplier { grid.setView(new GridViewImpl(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters())); grid.getView().setStacks(message.stacks); - grid.getView().sort(); + grid.getView().forceSort(); }); ctx.get().setPacketHandled(true); diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/GridViewImpl.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/GridViewImpl.java index 1600b836ad..e3f44393c9 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/GridViewImpl.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/GridViewImpl.java @@ -63,11 +63,16 @@ public void sort() { return; } + forceSort(); + } + + @Override + public void forceSort() { if (screen.getGrid().isGridActive()) { this.stacks = map.values().stream() - .filter(getActiveFilters()) - .sorted(getActiveSort()) - .collect(Collectors.toCollection(ArrayList::new)); + .filter(getActiveFilters()) + .sorted(getActiveSort()) + .collect(Collectors.toCollection(ArrayList::new)); this.active = true; } else { this.stacks = new ArrayList<>(); diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/IGridView.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/IGridView.java index bd4aa145c9..0a67888362 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/IGridView.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/view/IGridView.java @@ -26,6 +26,8 @@ public interface IGridView { void sort(); + void forceSort(); + void addDeltaListener(Consumer listener); void removed(); From 9b30bece19c0e2cd843921b2cbe7f2ca9d347def Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 13:19:44 +0100 Subject: [PATCH 03/16] fix: crashing issues due to node desync --- build.gradle | 9 ++++--- .../refinedstorage/block/CableBlock.java | 17 ++++++------ .../blockentity/CableBlockEntity.java | 2 +- .../blockentity/ConstructorBlockEntity.java | 2 +- .../blockentity/CrafterBlockEntity.java | 2 +- .../CrafterManagerBlockEntity.java | 2 +- .../blockentity/DestructorBlockEntity.java | 2 +- .../blockentity/DetectorBlockEntity.java | 2 +- .../blockentity/DiskDriveBlockEntity.java | 2 +- .../DiskManipulatorBlockEntity.java | 2 +- .../blockentity/ExporterBlockEntity.java | 2 +- .../ExternalStorageBlockEntity.java | 3 ++- .../FluidInterfaceBlockEntity.java | 10 +++---- .../blockentity/FluidStorageBlockEntity.java | 2 +- .../blockentity/ImporterBlockEntity.java | 2 +- .../blockentity/InterfaceBlockEntity.java | 2 +- .../blockentity/NetworkNodeBlockEntity.java | 27 ++++++++++++++++--- .../NetworkReceiverBlockEntity.java | 2 +- .../NetworkTransmitterBlockEntity.java | 2 +- .../blockentity/RelayBlockEntity.java | 2 +- .../SecurityManagerBlockEntity.java | 2 +- .../blockentity/StorageBlockEntity.java | 2 +- .../StorageMonitorBlockEntity.java | 3 ++- .../WirelessTransmitterBlockEntity.java | 2 +- .../CraftingMonitorBlockEntity.java | 2 +- .../blockentity/grid/GridBlockEntity.java | 2 +- 26 files changed, 67 insertions(+), 42 deletions(-) diff --git a/build.gradle b/build.gradle index bfceca6837..4095a0e194 100755 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,9 @@ apply from: "https://raw.githubusercontent.com/refinedmods/refinedarchitect/v0.7.1/helper.gradle" +ext { + forgeVersion = "47.1.0" +} + repositories { maven { name = 'JEI' @@ -38,10 +42,7 @@ dependencies { compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:4596466') - // TODO mixin issue - // runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1") - // can't depend on API due to Javadoc build error (CuriosApi imports stuff from common) - compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1") + implementation fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1") } minecraft { diff --git a/src/main/java/com/refinedmods/refinedstorage/block/CableBlock.java b/src/main/java/com/refinedmods/refinedstorage/block/CableBlock.java index 3ee9af3543..21e6cd3a55 100644 --- a/src/main/java/com/refinedmods/refinedstorage/block/CableBlock.java +++ b/src/main/java/com/refinedmods/refinedstorage/block/CableBlock.java @@ -122,6 +122,7 @@ public BlockState updateShape(BlockState state, Direction dir, BlockState facing } @Override + @SuppressWarnings("deprecation") public boolean isPathfindable(BlockState state, BlockGetter worldIn, BlockPos pos, PathComputationType type) { return false; } @@ -197,8 +198,8 @@ private boolean hasNodeConnection(LevelAccessor world, BlockPos pos, BlockState } return blockEntity.getCapability(NetworkNodeProxyCapability.NETWORK_NODE_PROXY_CAPABILITY, direction).isPresent() - && !isSideCovered(blockEntity, direction) - && !isSideCovered(world.getBlockEntity(pos.relative(direction)), direction.getOpposite()); + && !isSideCovered(blockEntity, direction) + && !isSideCovered(world.getBlockEntity(pos.relative(direction)), direction.getOpposite()); } private boolean isSideCovered(BlockEntity blockEntity, Direction direction) { @@ -229,12 +230,12 @@ private BlockState getState(BlockState currentState, LevelAccessor world, BlockP boolean down = hasNodeConnection(world, pos.relative(Direction.DOWN), currentState, Direction.UP); return currentState - .setValue(NORTH, north) - .setValue(EAST, east) - .setValue(SOUTH, south) - .setValue(WEST, west) - .setValue(UP, up) - .setValue(DOWN, down); + .setValue(NORTH, north) + .setValue(EAST, east) + .setValue(SOUTH, south) + .setValue(WEST, west) + .setValue(UP, up) + .setValue(DOWN, down); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/CableBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/CableBlockEntity.java index ce943c4a08..cbd13e6ed3 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/CableBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/CableBlockEntity.java @@ -27,7 +27,7 @@ public class CableBlockEntity extends NetworkNodeBlockEntity { .build(); public CableBlockEntity(BlockPos pos, BlockState state) { - super(RSBlockEntities.CABLE.get(), pos, state, SPEC); + super(RSBlockEntities.CABLE.get(), pos, state, SPEC, CableNetworkNode.class); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/ConstructorBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/ConstructorBlockEntity.java index ab230dc1f5..b673dd6e2c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/ConstructorBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/ConstructorBlockEntity.java @@ -42,7 +42,7 @@ public class ConstructorBlockEntity extends NetworkNodeBlockEntity patternsCapability = LazyOptional.of(() -> getNode().getPatternInventory()); public CrafterBlockEntity(BlockPos pos, BlockState state) { - super(RSBlockEntities.CRAFTER.get(), pos, state, SPEC); + super(RSBlockEntities.CRAFTER.get(), pos, state, SPEC, CrafterNetworkNode.class); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/CrafterManagerBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/CrafterManagerBlockEntity.java index 32bfa5d217..a95edd6c2c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/CrafterManagerBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/CrafterManagerBlockEntity.java @@ -35,7 +35,7 @@ public class CrafterManagerBlockEntity extends NetworkNodeBlockEntity TANK_OUT = new BlockEntitySynchronizationParameter<>(new ResourceLocation(RS.ID, "fluid_interface_out"), RSSerializers.FLUID_STACK_SERIALIZER, FluidStack.EMPTY, t -> t.getNode().getTankOut().getFluid()); public static BlockEntitySynchronizationSpec SPEC = BlockEntitySynchronizationSpec.builder() - .addWatchedParameter(REDSTONE_MODE) - .addParameter(TANK_IN) - .addParameter(TANK_OUT) - .build(); + .addWatchedParameter(REDSTONE_MODE) + .addParameter(TANK_IN) + .addParameter(TANK_OUT) + .build(); private final LazyOptional tankCapability = LazyOptional.of(() -> getNode().getTank()); private final LazyOptional inCapability = LazyOptional.of(() -> getNode().getIn()); public FluidInterfaceBlockEntity(BlockPos pos, BlockState state) { - super(RSBlockEntities.FLUID_INTERFACE.get(), pos, state, SPEC); + super(RSBlockEntities.FLUID_INTERFACE.get(), pos, state, SPEC, FluidInterfaceNetworkNode.class); } @Nonnull diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/FluidStorageBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/FluidStorageBlockEntity.java index 6aff898b40..4f8ab6dab3 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/FluidStorageBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/FluidStorageBlockEntity.java @@ -39,7 +39,7 @@ public class FluidStorageBlockEntity extends NetworkNodeBlockEntity itemsCapability = LazyOptional.of(() -> getNode().getItems()); public InterfaceBlockEntity(BlockPos pos, BlockState state) { - super(RSBlockEntities.INTERFACE.get(), pos, state, SPEC); + super(RSBlockEntities.INTERFACE.get(), pos, state, SPEC, InterfaceNetworkNode.class); } @Nonnull diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkNodeBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkNodeBlockEntity.java index ae1dbe24aa..f37e4a9c53 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkNodeBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkNodeBlockEntity.java @@ -28,16 +28,26 @@ import javax.annotation.Nullable; public abstract class NetworkNodeBlockEntity extends BaseBlockEntity implements INetworkNodeProxy, IRedstoneConfigurable { - public static final BlockEntitySynchronizationParameter REDSTONE_MODE = RedstoneMode.createParameter(new ResourceLocation(RS.ID, "redstone_mode")); + public static final BlockEntitySynchronizationParameter> REDSTONE_MODE = RedstoneMode.createParameter(new ResourceLocation(RS.ID, "redstone_mode")); private final LazyOptional> networkNodeProxy = LazyOptional.of(() -> this); + private final Class networkNodeClass; private N clientNode; private N removedNode; private static final Logger LOGGER = LogManager.getLogger(); + // TODO: remove this ctor in 1.21 + @Deprecated protected NetworkNodeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state, BlockEntitySynchronizationSpec syncSpec) { super(type, pos, state, syncSpec); + this.networkNodeClass = null; + } + + protected NetworkNodeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state, BlockEntitySynchronizationSpec syncSpec, + Class networkNodeClass) { + super(type, pos, state, syncSpec); + this.networkNodeClass = networkNodeClass; } @Override @@ -72,13 +82,20 @@ public N getNode() { node = createAndSetNode(manager); } - return (N) node; + return doCast(node); } catch (ClassCastException e) { LOGGER.warn("Node @ {} got desynced with it's block entity container, recreating", worldPosition, e); return (N) createAndSetNode(manager); } } + private N doCast(INetworkNode node) { + if (networkNodeClass == null) { + return (N) node; + } + return networkNodeClass.cast(node); + } + private INetworkNode createAndSetNode(INetworkNodeManager manager) { INetworkNode node = createNode(level, worldPosition); manager.setNode(worldPosition, node); @@ -110,7 +127,11 @@ public void onRemovedNotDueToChunkUnload() { INetworkNode node = manager.getNode(worldPosition); if (node != null) { - removedNode = (N) node; + try { + removedNode = doCast(node); + } catch (ClassCastException e) { + removedNode = null; + } } manager.removeNode(worldPosition); diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkReceiverBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkReceiverBlockEntity.java index cf0d2f0458..41ec7dc593 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkReceiverBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/NetworkReceiverBlockEntity.java @@ -15,7 +15,7 @@ public class NetworkReceiverBlockEntity extends NetworkNodeBlockEntity networkCardCapability = LazyOptional.of(() -> getNode().getNetworkCard()); public NetworkTransmitterBlockEntity(BlockPos pos, BlockState state) { - super(RSBlockEntities.NETWORK_TRANSMITTER.get(), pos, state, SPEC); + super(RSBlockEntities.NETWORK_TRANSMITTER.get(), pos, state, SPEC, NetworkTransmitterNetworkNode.class); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/RelayBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/RelayBlockEntity.java index 5fb657c2c2..6e9f44f2cb 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/RelayBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/RelayBlockEntity.java @@ -15,7 +15,7 @@ public class RelayBlockEntity extends NetworkNodeBlockEntity { .build(); public RelayBlockEntity(BlockPos pos, BlockState state) { - super(RSBlockEntities.RELAY.get(), pos, state, SPEC); + super(RSBlockEntities.RELAY.get(), pos, state, SPEC, RelayNetworkNode.class); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/blockentity/SecurityManagerBlockEntity.java b/src/main/java/com/refinedmods/refinedstorage/blockentity/SecurityManagerBlockEntity.java index e270e09939..2c913bdc78 100644 --- a/src/main/java/com/refinedmods/refinedstorage/blockentity/SecurityManagerBlockEntity.java +++ b/src/main/java/com/refinedmods/refinedstorage/blockentity/SecurityManagerBlockEntity.java @@ -15,7 +15,7 @@ public class SecurityManagerBlockEntity extends NetworkNodeBlockEntity diskCapability = LazyOptional.of(() -> getNode().getPatterns()); public GridBlockEntity(GridType type, BlockPos pos, BlockState state) { - super(getType(type), pos, state, SPEC); + super(getType(type), pos, state, SPEC, GridNetworkNode.class); this.type = type; } From 0f325efe95a8e5ddc5a27c04aefa77227408c314 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 13:48:06 +0100 Subject: [PATCH 04/16] fix: grid search bar not losing focus properly Fixes #3579 Fixes #2913 --- .../refinedstorage/screen/grid/GridScreen.java | 10 +++++++++- .../refinedstorage/screen/widget/SearchWidget.java | 13 +++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java index a5c11fd059..d3b8b43bc4 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java @@ -530,13 +530,15 @@ private void drawGridTooltip(GuiGraphics graphics, IGridStack gridStack, int mou @Override public boolean mouseClicked(double mouseX, double mouseY, int clickedButton) { if (tabs.mouseClicked()) { + setFocused(null); return true; } - if (scrollbar.mouseClicked(mouseX, mouseY, clickedButton)) { + setFocused(null); return true; } if (grid.getGridType() == GridType.PATTERN && patternScrollbar.mouseClicked(mouseX, mouseY, clickedButton)) { + setFocused(null); return true; } if (RS.CLIENT_CONFIG.getGrid().getPreventSortingWhileShiftIsDown()) { @@ -551,12 +553,16 @@ public boolean mouseClicked(double mouseX, double mouseY, int clickedButton) { RS.NETWORK_HANDLER.sendToServer(new GridPatternCreateMessage(((GridNetworkNode) grid).getPos())); + setFocused(null); + return true; } else if (clickedClear) { minecraft.getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); RS.NETWORK_HANDLER.sendToServer(new GridClearMessage()); + setFocused(null); + return true; } else if (grid.isGridActive()) { ItemStack held = menu.getCarried(); @@ -567,6 +573,7 @@ public boolean mouseClicked(double mouseX, double mouseY, int clickedButton) { } else { RS.NETWORK_HANDLER.sendToServer(new GridItemInsertHeldMessage(clickedButton == 1)); } + setFocused(null); return true; } @@ -596,6 +603,7 @@ public boolean mouseClicked(double mouseX, double mouseY, int clickedButton) { } } + setFocused(null); return true; } } diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/widget/SearchWidget.java b/src/main/java/com/refinedmods/refinedstorage/screen/widget/SearchWidget.java index 872949040a..3c1dd46a69 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/widget/SearchWidget.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/widget/SearchWidget.java @@ -47,17 +47,22 @@ private boolean canSyncFromJEINow() { @Override public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { - boolean wasFocused = isFocused(); - boolean result = super.mouseClicked(mouseX, mouseY, mouseButton); - boolean clickedWidget = mouseX >= this.getX() && mouseX < this.getX() + this.width && mouseY >= this.getY() && mouseY < this.getY() + this.height; if (clickedWidget && mouseButton == 1) { + // On right click, clear the widget and focus, save history if necessary. + if (isFocused()) { + saveHistory(); + } setValue(""); setFocused(true); - } else if (wasFocused != isFocused()) { + } + + if (!clickedWidget && isFocused()) { + // If we are focused, and we click outside the search box, lose focus. saveHistory(); + setFocused(false); } return result; From 10e2310a1bc873a49eaa289b66c4998f5426cad0 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 13:58:05 +0100 Subject: [PATCH 05/16] docs: add modrinth badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 38d69a2849..b7a50c73ee 100755 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

Refined Storage is a mass storage mod for Minecraft that offers the player a network-based storage system, allowing them to store items and fluids on a massively expandable device network.

-[![Build Status](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml/badge.svg?branch=develop)](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=refinedmods_refinedstorage&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=refinedmods_refinedstorage&metric=coverage)](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=refinedmods_refinedstorage&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [![Downloads on CurseForge](http://cf.way2muchnoise.eu/full_243076_downloads.svg)](http://minecraft.curseforge.com/projects/refined-storage) [![Discord](https://img.shields.io/discord/342942776494653441)](https://discordapp.com/invite/VYzsydb) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE.md) +[![Build Status](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml/badge.svg?branch=develop)](https://github.com/refinedmods/refinedstorage/actions/workflows/build.yml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=refinedmods_refinedstorage&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=refinedmods_refinedstorage&metric=coverage)](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=refinedmods_refinedstorage&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=refinedmods_refinedstorage) [![Downloads on CurseForge](http://cf.way2muchnoise.eu/full_243076_downloads.svg)](http://minecraft.curseforge.com/projects/refined-storage) [![Downloads on Modrinth](https://img.shields.io/modrinth/dt/refined-storage?logo=modrinth)](https://modrinth.com/mod/refined-storage) [![Discord](https://img.shields.io/discord/342942776494653441)](https://discordapp.com/invite/VYzsydb) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE.md) ## About From 9474ece3994604c9cee4287c01b1064777f31af1 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 14:15:04 +0100 Subject: [PATCH 06/16] fix: emissive inactive models --- build.gradle | 4 + .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 2 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 2 +- .../c52895b732924e707cb6e5ddd1c6b6962039449c | 2 +- .../cb654f100e416ac39358630d6623170b9bfdc5d2 | 2 +- .../f481442ce31db2c3b3dabb5b6d85f9a78568164e | 4 +- .../fd27170b6bf91459ed2598d25721edfeafc82e0a | 32 +-- .../models/block/controller/off.json | 2 +- .../models/block/crafter/disconnected.json | 2 +- .../block/crafter_manager/disconnected.json | 2 +- .../block/crafting_grid/disconnected.json | 2 +- .../block/crafting_monitor/disconnected.json | 2 +- .../models/block/detector/off.json | 2 +- .../block/disk_manipulator/disconnected.json | 2 +- .../models/block/fluid_grid/disconnected.json | 2 +- .../models/block/grid/disconnected.json | 2 +- .../block/network_receiver/disconnected.json | 2 +- .../network_transmitter/disconnected.json | 2 +- .../block/pattern_grid/disconnected.json | 2 +- .../models/block/relay/disconnected.json | 2 +- .../block/security_manager/disconnected.json | 2 +- .../wireless_transmitter/disconnected.json | 2 +- .../tags/blocks/relocation_not_supported.json | 22 +- .../datageneration/BlockModelGenerator.java | 222 +++++++++--------- .../datageneration/BlockModels.java | 46 ++++ .../constructor_destructor_nonemissive.json | 161 +++++++++++++ .../block/constructor_disconnected.json | 2 +- .../block/cube_all_cutout_nonemissive.json | 82 +++++++ .../models/block/cube_cutout_nonemissive.json | 82 +++++++ .../block/cube_north_cutout_nonemissive.json | 62 +++++ .../models/block/destructor_disconnected.json | 2 +- .../models/block/detector_nonemissive.json | 210 +++++++++++++++++ .../wireless_transmitter_nonemissive.json | 209 +++++++++++++++++ 33 files changed, 1017 insertions(+), 161 deletions(-) create mode 100755 src/main/resources/assets/refinedstorage/models/block/constructor_destructor_nonemissive.json create mode 100644 src/main/resources/assets/refinedstorage/models/block/cube_all_cutout_nonemissive.json create mode 100644 src/main/resources/assets/refinedstorage/models/block/cube_cutout_nonemissive.json create mode 100644 src/main/resources/assets/refinedstorage/models/block/cube_north_cutout_nonemissive.json create mode 100755 src/main/resources/assets/refinedstorage/models/block/detector_nonemissive.json create mode 100644 src/main/resources/assets/refinedstorage/models/block/wireless_transmitter_nonemissive.json diff --git a/build.gradle b/build.gradle index 4095a0e194..3635612db3 100755 --- a/build.gradle +++ b/build.gradle @@ -51,5 +51,9 @@ minecraft { property 'mixin.env.remapRefMap', 'true' property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" } + data { + property 'mixin.env.remapRefMap', 'true' + property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + } } } \ No newline at end of file diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 3152aa7f3f..7ea369eafa 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.20.1 2023-07-03T11:19:34.4889238 Loot Tables +// 1.20.1 2023-11-05T14:19:25.383214243 Loot Tables 24df81614f6b28c4c7e59589d79fd2c929d71727 data/refinedstorage/loot_tables/blocks/black_controller.json aadbec0f79a3fb95d39e866a453cfec0cbbacd36 data/refinedstorage/loot_tables/blocks/black_crafter.json a792eb6ac90ce775052c9c4a1b29bf9551477b5d data/refinedstorage/loot_tables/blocks/black_crafter_manager.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index de34118aff..f36e239f50 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2023-07-03T11:19:34.5209453 Recipes +// 1.20.1 2023-11-05T14:19:25.387472745 Recipes 1ccdc8b9da42fbc8d8c954215c76634af2d5254e data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_controller.json b4936ab0116ecd65cc2ca1f8342b18d9019d9bf4 data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_crafter.json 6632b2a29739b77ca01b29a33688640d63ba85fb data/refinedstorage/advancements/recipes/misc/coloring_recipes/black_crafter_manager.json diff --git a/src/generated/resources/.cache/c52895b732924e707cb6e5ddd1c6b6962039449c b/src/generated/resources/.cache/c52895b732924e707cb6e5ddd1c6b6962039449c index 46cfc689f0..a21f9e8f59 100644 --- a/src/generated/resources/.cache/c52895b732924e707cb6e5ddd1c6b6962039449c +++ b/src/generated/resources/.cache/c52895b732924e707cb6e5ddd1c6b6962039449c @@ -1,2 +1,2 @@ -// 1.20.1 2023-07-03T11:19:34.4768009 Block Entity Type Tags +// 1.20.1 2023-11-05T14:19:25.380203046 Block Entity Type Tags 98555d946827da8ddb7a7c451a1c99f4d0184ad3 data/packingtape/tags/block_entity_type/blacklist/problematic.json diff --git a/src/generated/resources/.cache/cb654f100e416ac39358630d6623170b9bfdc5d2 b/src/generated/resources/.cache/cb654f100e416ac39358630d6623170b9bfdc5d2 index d0ed1eb305..a4d61d0989 100644 --- a/src/generated/resources/.cache/cb654f100e416ac39358630d6623170b9bfdc5d2 +++ b/src/generated/resources/.cache/cb654f100e416ac39358630d6623170b9bfdc5d2 @@ -1,4 +1,4 @@ -// 1.20.1 2023-07-03T11:19:34.4829224 Tags for minecraft:item mod id refinedstorage +// 1.20.1 2023-11-05T14:19:25.382491537 Tags for minecraft:item mod id refinedstorage 061bf4c2f3bdd530115615f2b04e55c2602908bd data/refinedstorage/tags/items/controller.json 407a16e5d941c69915f75b135a13e9144cc9c43e data/refinedstorage/tags/items/crafter.json dc1342f1d3e6a4cd8eaaa52429a011c10c6c2d96 data/refinedstorage/tags/items/crafter_manager.json diff --git a/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e b/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e index be9c673faa..b5b6040f8c 100644 --- a/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e +++ b/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e @@ -1,5 +1,5 @@ -// 1.20.1 2023-07-03T11:19:34.5471111 Tags for minecraft:block mod id refinedstorage -3f3a0c830f4ddc021ae2c2a36f75311d8df1fb2e data/forge/tags/blocks/relocation_not_supported.json +// 1.20.1 2023-11-05T14:19:25.400231284 Tags for minecraft:block mod id refinedstorage +1fa2f2b3024535fa34f1b192e3f4abaae383119b data/forge/tags/blocks/relocation_not_supported.json 061bf4c2f3bdd530115615f2b04e55c2602908bd data/refinedstorage/tags/blocks/controller.json 407a16e5d941c69915f75b135a13e9144cc9c43e data/refinedstorage/tags/blocks/crafter.json dc1342f1d3e6a4cd8eaaa52429a011c10c6c2d96 data/refinedstorage/tags/blocks/crafter_manager.json diff --git a/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a b/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a index 7c582666bf..23714c3c30 100644 --- a/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a +++ b/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a @@ -1,4 +1,4 @@ -// 1.20.1 2023-07-03T11:19:34.5335391 Block States: refinedstorage +// 1.20.1 2023-11-05T14:19:25.392534402 Block States: refinedstorage 7b69e3ab3a7471a50e264579d36c04adb8acad35 assets/refinedstorage/blockstates/black_controller.json c87045bd089212825bdd0f06b0d25e7bcf0e3f5d assets/refinedstorage/blockstates/black_crafter.json 999fe91e1661d6b45f9c29878f06438b3b5919dc assets/refinedstorage/blockstates/black_crafter_manager.json @@ -267,7 +267,7 @@ e25236415255c8e84e8425cd5ef5068af2e90bf5 assets/refinedstorage/models/block/cont 719f9943433757fe6d544facfad02cf5c863b128 assets/refinedstorage/models/block/controller/magenta.json ac1cb6e399a675e681a5c32be92cf2bbbabb845e assets/refinedstorage/models/block/controller/nearly_off.json df5ef8ae2db4d693376007210753f08e8ed9aa1f assets/refinedstorage/models/block/controller/nearly_on.json -70e2a0e01172f7da1631c48358986597731f210f assets/refinedstorage/models/block/controller/off.json +649b3ac449fa858abcf8771bc91fe9ce04949989 assets/refinedstorage/models/block/controller/off.json 197c8d6037075f2a32aa361a573a86a93b71d178 assets/refinedstorage/models/block/controller/orange.json b5d54a0751d165ea36f32a545cd0d74cfec96138 assets/refinedstorage/models/block/controller/pink.json f6f6681357c6759a6de3baac9116c45f4027ed0b assets/refinedstorage/models/block/controller/purple.json @@ -278,7 +278,7 @@ a3fc2ae7524e81e7ac41d116f23dfcfe58fcca9a assets/refinedstorage/models/block/craf ca9f47ac28aa1e6779613d426b837526b50ae0e2 assets/refinedstorage/models/block/crafter/blue.json 58a500649c2d2a496f7228b9fa537802baf15a20 assets/refinedstorage/models/block/crafter/brown.json cce737a93507d1eb58d51d2ddac6428c695c6b23 assets/refinedstorage/models/block/crafter/cyan.json -9abba05387aa43ead444a35b3337f87dcf8a07ce assets/refinedstorage/models/block/crafter/disconnected.json +9a012e8377cf60c903a5d42918f3b2bde17539d2 assets/refinedstorage/models/block/crafter/disconnected.json 7c6c30838702c3e43f7c9e62319d2cd486d1498a assets/refinedstorage/models/block/crafter/gray.json c495e9d2fc43e5e6094b4799609961445d391927 assets/refinedstorage/models/block/crafter/green.json 8c493f345d1a6af778087a49cf36588954bb84fe assets/refinedstorage/models/block/crafter/light_blue.json @@ -295,7 +295,7 @@ c1ab462d97a36b71baa6d03b0aefab777377aa80 assets/refinedstorage/models/block/craf 947d1cacb3f457c5f9985961bf9a2cb64392f9c6 assets/refinedstorage/models/block/crafter_manager/blue.json bdf1b91bb479fdc377250a925dd569c222b8b983 assets/refinedstorage/models/block/crafter_manager/brown.json 41746225550b6f965c0bcb2168aef5afa6ac5780 assets/refinedstorage/models/block/crafter_manager/cyan.json -3760e96ab56ce35790deccb0bc0dd5b777d5624a assets/refinedstorage/models/block/crafter_manager/disconnected.json +006345975c1de5fb804ad47027d66730f13676d9 assets/refinedstorage/models/block/crafter_manager/disconnected.json 7470d98e9ed8ab00a4cac8b651d095dbc33a787a assets/refinedstorage/models/block/crafter_manager/gray.json a6b801087e0e0311fa660ae060879aede938bfa0 assets/refinedstorage/models/block/crafter_manager/green.json e6d7a1289f13a29a429db62287ac6c3143a9565a assets/refinedstorage/models/block/crafter_manager/light_blue.json @@ -312,7 +312,7 @@ a65b6a6e90137b5b6d061637daca39cf0230a756 assets/refinedstorage/models/block/craf f1beacefdaf9aae0aaafc5a3c5e865e84173c2d4 assets/refinedstorage/models/block/crafting_grid/blue.json 3f85170b187def3b075ec11982f91775c72ea2bb assets/refinedstorage/models/block/crafting_grid/brown.json e3a6ddbf8c7348f8f0678b7b88d7309c1c2048fb assets/refinedstorage/models/block/crafting_grid/cyan.json -d9bedeb26d136630195de1b309d67f58d771bfb5 assets/refinedstorage/models/block/crafting_grid/disconnected.json +6cc5581bebc7eaa3b6ab156aec032534afa56b89 assets/refinedstorage/models/block/crafting_grid/disconnected.json c483c28bc8d003c214cd9d2c7de40500d9a14a5e assets/refinedstorage/models/block/crafting_grid/gray.json 53c5036ea2fd4bc481bccdcd3f37f4b4a3c0e25f assets/refinedstorage/models/block/crafting_grid/green.json 034ce68bb933818291cc7b28b6c5da5471c16f01 assets/refinedstorage/models/block/crafting_grid/light_blue.json @@ -329,7 +329,7 @@ e40a7af2d99a7ff0847a13865339fa00a3ebc439 assets/refinedstorage/models/block/craf 52a2c625eb84f7586bdb98d8f709ffb3c17e4ee9 assets/refinedstorage/models/block/crafting_monitor/blue.json 9c8ceeee7c2dc1512e23d3798c51fa75387d411c assets/refinedstorage/models/block/crafting_monitor/brown.json 1d071a43fa223ffd8261704132df37b8ee916a1d assets/refinedstorage/models/block/crafting_monitor/cyan.json -185e19d54b212f6736caa383bfe0337f79439992 assets/refinedstorage/models/block/crafting_monitor/disconnected.json +8cc27a1d4bf9f12010581454f1d78aa1d982b3ac assets/refinedstorage/models/block/crafting_monitor/disconnected.json 1e2f04d1521c27e31f06940684c1ca7306fa3524 assets/refinedstorage/models/block/crafting_monitor/gray.json ddf85353932580ced34a09ce5cd5fc121828e90d assets/refinedstorage/models/block/crafting_monitor/green.json a161a5fa71b287a0eb7ff801458ad5c76a55a7c5 assets/refinedstorage/models/block/crafting_monitor/light_blue.json @@ -352,7 +352,7 @@ c735ce9091c7a5ab2eb0c7b162af77c2ffac2ad8 assets/refinedstorage/models/block/dete b462ca74227c62a9e8567ab7461f45e5e95425d8 assets/refinedstorage/models/block/detector/light_gray.json 4f52368581621adf1d799660c42f108207217575 assets/refinedstorage/models/block/detector/lime.json 170d5328b3f1d9c05c2f6af3191a42d734e89e2b assets/refinedstorage/models/block/detector/magenta.json -d571bd12d733c62c3b7e28e6adbf44990429414e assets/refinedstorage/models/block/detector/off.json +f50f9956dc7bdd3cac13a6473a45906050667a78 assets/refinedstorage/models/block/detector/off.json 2c735eca8fcf7770558758a49f7f8ea469225897 assets/refinedstorage/models/block/detector/orange.json d795e18038baa420972781d7206c1809c7297ae8 assets/refinedstorage/models/block/detector/pink.json 0fe0d9e192b473fdb4cc8a5844ca44de22364e43 assets/refinedstorage/models/block/detector/purple.json @@ -363,7 +363,7 @@ bb3725144c25a75f4e0e0a47e7efd174b7211261 assets/refinedstorage/models/block/dete 08feb52f08c96567bbdc6cd0ab9f289748c3bd1c assets/refinedstorage/models/block/disk_manipulator/blue.json 5050a32ef1afdb15f31f169d257596a29cf0e46d assets/refinedstorage/models/block/disk_manipulator/brown.json 9900ae5b9004204fea75cad20e4b18a6d8d3ec37 assets/refinedstorage/models/block/disk_manipulator/cyan.json -2621bf9ea6ba66ebeb9eb3130c9a58b5858c8f78 assets/refinedstorage/models/block/disk_manipulator/disconnected.json +46b21908098b41f5a6a4229d941dd4732ef1dd76 assets/refinedstorage/models/block/disk_manipulator/disconnected.json 8f78635bbb9015e9b3c710418adec9b96570b133 assets/refinedstorage/models/block/disk_manipulator/gray.json 588bb56e49677311063aa0eee9ebbb864e528fc0 assets/refinedstorage/models/block/disk_manipulator/green.json 46677b54fec1f540a8d63e8037bbf164f755b995 assets/refinedstorage/models/block/disk_manipulator/light_blue.json @@ -381,7 +381,7 @@ d7c7712fe9dc02e0bde2ed57f5e886698b5d1d65 assets/refinedstorage/models/block/disk 2cc6db45ec512f617d3dfc74e56c812700e8c9be assets/refinedstorage/models/block/fluid_grid/blue.json 043ee02c82d506d6f5024246fafdf467bcba50f4 assets/refinedstorage/models/block/fluid_grid/brown.json 92c6f3c28c41f179c507434f9e13c41fb6713942 assets/refinedstorage/models/block/fluid_grid/cyan.json -0cbd7a5d7692ef3a031960eccc58307cf15d887d assets/refinedstorage/models/block/fluid_grid/disconnected.json +8715a94eb3b672cf941e471c5883cc9ddebff362 assets/refinedstorage/models/block/fluid_grid/disconnected.json 328db8a51dac5c943b005dd8178f70de0e69b03d assets/refinedstorage/models/block/fluid_grid/gray.json 3a012b462e69bdca95c5bb3e030d8dea2d438539 assets/refinedstorage/models/block/fluid_grid/green.json 7f05d7725b608fdb70ba2ae4c6ade712912b5d30 assets/refinedstorage/models/block/fluid_grid/light_blue.json @@ -398,7 +398,7 @@ e845c4a37c72d5ad426fac7203353a9665648a46 assets/refinedstorage/models/block/grid 589f51309dbecb1964c070a70496b79ae1c4ebcb assets/refinedstorage/models/block/grid/blue.json 437076a560cbafb39c685b88e6fd2073c7c158d0 assets/refinedstorage/models/block/grid/brown.json 49f3eb8374ee309b81f9242bd048f66421eaa75e assets/refinedstorage/models/block/grid/cyan.json -b85adb5c23340beb39809692ae600bae8a8fbd97 assets/refinedstorage/models/block/grid/disconnected.json +97d78c65ba856ead9ff344625e37ed4f6f880516 assets/refinedstorage/models/block/grid/disconnected.json 3ad1130e18a706495810f1cc32e2658b4910607a assets/refinedstorage/models/block/grid/gray.json 83b393342de4c5aee81c50715479ec78efb21667 assets/refinedstorage/models/block/grid/green.json 3fb70b9aba3dbe38bc0279f1b2789695f8e0a784 assets/refinedstorage/models/block/grid/light_blue.json @@ -415,7 +415,7 @@ b6ad5c9d362ca9c4cbb5727be2a3ea38f03e0a64 assets/refinedstorage/models/block/grid 521b606adc714ae111325cfb4b86c2f00fc49838 assets/refinedstorage/models/block/network_receiver/blue.json e988e5bf8a325e3ed5e80e5615e8d5b337e92892 assets/refinedstorage/models/block/network_receiver/brown.json 9feb023af7e1f64c0586fcaa67059743deb3da04 assets/refinedstorage/models/block/network_receiver/cyan.json -1ab3271c61288c831ec53f64d025a34c1805d87b assets/refinedstorage/models/block/network_receiver/disconnected.json +978191a2fcbf46cfd70fe9e4bfa564a3b1b89336 assets/refinedstorage/models/block/network_receiver/disconnected.json 44587865547f9c2e58421ea0a880ff51cf8b8fbf assets/refinedstorage/models/block/network_receiver/gray.json 180555a0b56ddbe2def2b86d44ad8d8747bffbea assets/refinedstorage/models/block/network_receiver/green.json cd3a8952d2246b8ae436f6b6b66ee7f7f3f51fa7 assets/refinedstorage/models/block/network_receiver/light_blue.json @@ -432,7 +432,7 @@ c17ae790076c791a6f51b86f307c71452a47e5b9 assets/refinedstorage/models/block/netw c4e1615846d83ab4c806b6b24373be722261d1f3 assets/refinedstorage/models/block/network_transmitter/blue.json 0f59245da158e77b1cf84cfab5164eeb8814384d assets/refinedstorage/models/block/network_transmitter/brown.json d1dd664110221c97fe2d22a111800cd2b6df6982 assets/refinedstorage/models/block/network_transmitter/cyan.json -90f410054ba60b9f9b4cc7212cefb0ec54b8d0db assets/refinedstorage/models/block/network_transmitter/disconnected.json +7fad44f8c99b39fa763f603e3f30fa67abebd566 assets/refinedstorage/models/block/network_transmitter/disconnected.json 8d516cc91c6e1bd3fb8e2eee31e268bf10b590df assets/refinedstorage/models/block/network_transmitter/gray.json ce9afe78c7f30a826630135797ca4c90f7cccbb8 assets/refinedstorage/models/block/network_transmitter/green.json 3a230a4a14c2151ac1de52072514b622a4fac746 assets/refinedstorage/models/block/network_transmitter/light_blue.json @@ -449,7 +449,7 @@ ef2ca4a218be25d42a994a308d3a684f82aeb3e8 assets/refinedstorage/models/block/netw 09d8500c01a62a454e8e1a817a82e1ad19deace2 assets/refinedstorage/models/block/pattern_grid/blue.json 50406c5a5a65c0d46e91ef389cd3fd23a2b2599b assets/refinedstorage/models/block/pattern_grid/brown.json 6ce91be1821a684898a59d3a8cfbe13ba4f6b707 assets/refinedstorage/models/block/pattern_grid/cyan.json -d06e4411da2bf8312b42cfefc1830610befa8bfd assets/refinedstorage/models/block/pattern_grid/disconnected.json +1dfe91631ef1f12dcecc7e0e45ec7f5e9aeb53f0 assets/refinedstorage/models/block/pattern_grid/disconnected.json 3257be294252ab0a567fc96486e30b028ba6009d assets/refinedstorage/models/block/pattern_grid/gray.json b0713d7de5cd75e371bc83e9abd33e842702f1cc assets/refinedstorage/models/block/pattern_grid/green.json 5412d15ff025c0ba4bf04e74cbecb765932cb697 assets/refinedstorage/models/block/pattern_grid/light_blue.json @@ -466,7 +466,7 @@ e6b978a202ab3b7096443862fc70418fab92d528 assets/refinedstorage/models/block/patt 3918e0f6307e76c72f112b9e5a26977e4b32bb1a assets/refinedstorage/models/block/relay/blue.json 2e79077645de1d34de0d3f01102d5242a577440d assets/refinedstorage/models/block/relay/brown.json a683b28b4b41949b663208e28c393746419e5f1f assets/refinedstorage/models/block/relay/cyan.json -d27657d53a4ea85f6c28d11f82d08015af9ef0e2 assets/refinedstorage/models/block/relay/disconnected.json +b66ed29783c7a24a7112af3d58cfb903d14535bd assets/refinedstorage/models/block/relay/disconnected.json 9705e6e41a83a5349f74e4478284f6fe8b63a6dd assets/refinedstorage/models/block/relay/gray.json 2d21af4bfa0fade473addf82032db9e3187af096 assets/refinedstorage/models/block/relay/green.json f53061187c76cce0787d11c6b800745dfd48b36a assets/refinedstorage/models/block/relay/light_blue.json @@ -483,7 +483,7 @@ d6e52eb671800d61b5565e502f395f91c5b650a0 assets/refinedstorage/models/block/rela e6dcfb1bfa2cd2ce4f3d3dc2aae7da3ad344bbda assets/refinedstorage/models/block/security_manager/blue.json cacca03ecf0de2bce557ca841401033c45cf4cc1 assets/refinedstorage/models/block/security_manager/brown.json e241938c7d93a4fc12a09fa9a1ee847d129e92b9 assets/refinedstorage/models/block/security_manager/cyan.json -101c60b99c9c532a248ed15adb59f64ec4bcd186 assets/refinedstorage/models/block/security_manager/disconnected.json +c47c799fca836d8d3ee2022acd5347c3e84836f1 assets/refinedstorage/models/block/security_manager/disconnected.json 5fcb0264b7cc0d4132cf9f18deafa366c6066f53 assets/refinedstorage/models/block/security_manager/gray.json 871b6c7a028d339a551e10d432a936e316f7910e assets/refinedstorage/models/block/security_manager/green.json f068112ed910080dfc74f2309228f2d5c41ea1b6 assets/refinedstorage/models/block/security_manager/light_blue.json @@ -500,7 +500,7 @@ a865ead60de383ea8e84c5c16ffdcc2fcbd2791a assets/refinedstorage/models/block/secu f338756587a7c6bce14677030543f7399aee9259 assets/refinedstorage/models/block/wireless_transmitter/blue.json 667bad1eaa409dbd56bb9db7048a029a610dc5c0 assets/refinedstorage/models/block/wireless_transmitter/brown.json eeb75332e2a0a9a10b1f5d47b8621340c3913877 assets/refinedstorage/models/block/wireless_transmitter/cyan.json -ca0a18305f47bf6b1e01014b9c557cefbd2873af assets/refinedstorage/models/block/wireless_transmitter/disconnected.json +7d8cdce240042937a7a9ad14390f02f978e3b38f assets/refinedstorage/models/block/wireless_transmitter/disconnected.json 732c1094b53f66b96e04630b2e3549f1ae3f3d3e assets/refinedstorage/models/block/wireless_transmitter/gray.json 2cb3ccf208c6144c461f8b6d05e45360f88e31f1 assets/refinedstorage/models/block/wireless_transmitter/green.json f0c6cd01aa8af1558c43033433096942fdda103e assets/refinedstorage/models/block/wireless_transmitter/light_blue.json diff --git a/src/generated/resources/assets/refinedstorage/models/block/controller/off.json b/src/generated/resources/assets/refinedstorage/models/block/controller/off.json index 2aaf85f058..3aff0b9a1b 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/controller/off.json +++ b/src/generated/resources/assets/refinedstorage/models/block/controller/off.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_all_cutout", + "parent": "refinedstorage:block/cube_all_cutout_nonemissive", "textures": { "all": "refinedstorage:block/controller/off", "cutout": "refinedstorage:block/controller/cutouts/off", diff --git a/src/generated/resources/assets/refinedstorage/models/block/crafter/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/crafter/disconnected.json index d15472b3bb..58a52d1598 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/crafter/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/crafter/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_cutout", + "parent": "refinedstorage:block/cube_cutout_nonemissive", "textures": { "cutout_down": "refinedstorage:block/bottom", "cutout_east": "refinedstorage:block/crafter/cutouts/side_disconnected", diff --git a/src/generated/resources/assets/refinedstorage/models/block/crafter_manager/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/crafter_manager/disconnected.json index 7794045c78..d32f65a71d 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/crafter_manager/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/crafter_manager/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_north_cutout", + "parent": "refinedstorage:block/cube_north_cutout_nonemissive", "textures": { "cutout": "refinedstorage:block/crafter_manager/cutouts/disconnected", "down": "refinedstorage:block/bottom", diff --git a/src/generated/resources/assets/refinedstorage/models/block/crafting_grid/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/crafting_grid/disconnected.json index 8378dd8528..f84890b12f 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/crafting_grid/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/crafting_grid/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_north_cutout", + "parent": "refinedstorage:block/cube_north_cutout_nonemissive", "textures": { "cutout": "refinedstorage:block/crafting_grid/cutouts/disconnected", "down": "refinedstorage:block/bottom", diff --git a/src/generated/resources/assets/refinedstorage/models/block/crafting_monitor/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/crafting_monitor/disconnected.json index ad88be609e..17be00f50c 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/crafting_monitor/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/crafting_monitor/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_north_cutout", + "parent": "refinedstorage:block/cube_north_cutout_nonemissive", "textures": { "cutout": "refinedstorage:block/crafting_monitor/cutouts/disconnected", "down": "refinedstorage:block/bottom", diff --git a/src/generated/resources/assets/refinedstorage/models/block/detector/off.json b/src/generated/resources/assets/refinedstorage/models/block/detector/off.json index 3eb956b114..641f83ebef 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/detector/off.json +++ b/src/generated/resources/assets/refinedstorage/models/block/detector/off.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/detector", + "parent": "refinedstorage:block/detector_nonemissive", "textures": { "torch": "refinedstorage:block/detector/cutouts/off" } diff --git a/src/generated/resources/assets/refinedstorage/models/block/disk_manipulator/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/disk_manipulator/disconnected.json index eb028766e3..7bfb147f43 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/disk_manipulator/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/disk_manipulator/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_north_cutout", + "parent": "refinedstorage:block/cube_north_cutout_nonemissive", "textures": { "cutout": "refinedstorage:block/disk_manipulator/cutouts/disconnected", "down": "refinedstorage:block/bottom", diff --git a/src/generated/resources/assets/refinedstorage/models/block/fluid_grid/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/fluid_grid/disconnected.json index 6bbd50a69f..abdc690469 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/fluid_grid/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/fluid_grid/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_north_cutout", + "parent": "refinedstorage:block/cube_north_cutout_nonemissive", "textures": { "cutout": "refinedstorage:block/fluid_grid/cutouts/disconnected", "down": "refinedstorage:block/bottom", diff --git a/src/generated/resources/assets/refinedstorage/models/block/grid/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/grid/disconnected.json index 3f5a5e0692..8fdc6e15a7 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/grid/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/grid/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_north_cutout", + "parent": "refinedstorage:block/cube_north_cutout_nonemissive", "textures": { "cutout": "refinedstorage:block/grid/cutouts/disconnected", "down": "refinedstorage:block/bottom", diff --git a/src/generated/resources/assets/refinedstorage/models/block/network_receiver/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/network_receiver/disconnected.json index d2a6a57432..bba41f11c2 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/network_receiver/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/network_receiver/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_all_cutout", + "parent": "refinedstorage:block/cube_all_cutout_nonemissive", "textures": { "all": "refinedstorage:block/network_receiver/network_receiver", "cutout": "refinedstorage:block/network_receiver/cutouts/disconnected", diff --git a/src/generated/resources/assets/refinedstorage/models/block/network_transmitter/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/network_transmitter/disconnected.json index afe1c92ca3..c3eb9aae89 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/network_transmitter/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/network_transmitter/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_all_cutout", + "parent": "refinedstorage:block/cube_all_cutout_nonemissive", "textures": { "all": "refinedstorage:block/network_transmitter/network_transmitter", "cutout": "refinedstorage:block/network_transmitter/cutouts/disconnected", diff --git a/src/generated/resources/assets/refinedstorage/models/block/pattern_grid/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/pattern_grid/disconnected.json index 4a04359088..258441a01f 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/pattern_grid/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/pattern_grid/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_north_cutout", + "parent": "refinedstorage:block/cube_north_cutout_nonemissive", "textures": { "cutout": "refinedstorage:block/pattern_grid/cutouts/disconnected", "down": "refinedstorage:block/bottom", diff --git a/src/generated/resources/assets/refinedstorage/models/block/relay/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/relay/disconnected.json index 0e414bfbf1..bdf5dc10fe 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/relay/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/relay/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_all_cutout", + "parent": "refinedstorage:block/cube_all_cutout_nonemissive", "textures": { "all": "refinedstorage:block/relay/relay", "cutout": "refinedstorage:block/relay/cutouts/disconnected", diff --git a/src/generated/resources/assets/refinedstorage/models/block/security_manager/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/security_manager/disconnected.json index e47c5ef9b5..ea45c7c2e2 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/security_manager/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/security_manager/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/cube_cutout", + "parent": "refinedstorage:block/cube_cutout_nonemissive", "textures": { "cutout_down": "refinedstorage:block/bottom", "cutout_east": "refinedstorage:block/security_manager/cutouts/right_disconnected", diff --git a/src/generated/resources/assets/refinedstorage/models/block/wireless_transmitter/disconnected.json b/src/generated/resources/assets/refinedstorage/models/block/wireless_transmitter/disconnected.json index 0bb7ace341..b1541db7ab 100644 --- a/src/generated/resources/assets/refinedstorage/models/block/wireless_transmitter/disconnected.json +++ b/src/generated/resources/assets/refinedstorage/models/block/wireless_transmitter/disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/wireless_transmitter", + "parent": "refinedstorage:block/wireless_transmitter_nonemissive", "textures": { "cutout": "refinedstorage:block/wireless_transmitter/cutouts/disconnected" } diff --git a/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json b/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json index 2157aa497d..d230f6c516 100644 --- a/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json +++ b/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json @@ -1,21 +1,21 @@ { "values": [ - "#refinedstorage:pattern_grid", - "#refinedstorage:network_transmitter", - "#refinedstorage:security_manager", + "#refinedstorage:disk_manipulator", "#refinedstorage:creative_controller", - "#refinedstorage:fluid_grid", - "#refinedstorage:crafter", - "#refinedstorage:grid", "#refinedstorage:wireless_transmitter", - "#refinedstorage:detector", - "#refinedstorage:crafting_monitor", "#refinedstorage:controller", - "#refinedstorage:network_receiver", - "#refinedstorage:relay", + "#refinedstorage:network_transmitter", + "#refinedstorage:security_manager", "#refinedstorage:crafter_manager", + "#refinedstorage:grid", + "#refinedstorage:crafter", "#refinedstorage:crafting_grid", - "#refinedstorage:disk_manipulator", + "#refinedstorage:pattern_grid", + "#refinedstorage:crafting_monitor", + "#refinedstorage:relay", + "#refinedstorage:detector", + "#refinedstorage:fluid_grid", + "#refinedstorage:network_receiver", "refinedstorage:1k_storage_block", "refinedstorage:4k_storage_block", "refinedstorage:16k_storage_block", diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java index 2c30ca8205..05fd52a44c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java @@ -51,14 +51,14 @@ private void genWirelessTransmitterModels() { models.wirelessTransmitterBlock(block, state -> { if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) { - return models.createWirelessTransmitterModel( - "block/" + folderName + "/disconnected", - resourceLocation(folderName, "cutouts/disconnected") + return models.createWirelessTransmitterNonEmissiveModel( + "block/" + folderName + "/disconnected", + resourceLocation(folderName, "cutouts/disconnected") ); } else { ModelFile model = models.createWirelessTransmitterModel( - "block/" + folderName + "/" + color, - resourceLocation(folderName, "cutouts/" + color) + "block/" + folderName + "/" + color, + resourceLocation(folderName, "cutouts/" + color) ); simpleBlockItem(block, model); @@ -75,14 +75,14 @@ private void genDetectorModels() { models.simpleBlockStateModel(block, state -> { if (Boolean.FALSE.equals(state.getValue(DetectorBlock.POWERED))) { - return models.createDetectorModel( - "block/" + folderName + "/off", - resourceLocation(folderName, "cutouts/off") + return models.createDetectorNonEmissiveModel( + "block/" + folderName + "/off", + resourceLocation(folderName, "cutouts/off") ); } else { ModelFile model = models.createDetectorModel( - "block/" + folderName + "/" + color, - resourceLocation(folderName, "cutouts/" + color) + "block/" + folderName + "/" + color, + resourceLocation(folderName, "cutouts/" + color) ); simpleBlockItem(block, model); @@ -99,36 +99,36 @@ private void genSecurityManagerModels() { models.horizontalRSBlock(block, state -> { if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) { - return models.createCubeCutoutModel( - "block/" + folderName + "/disconnected", - BOTTOM, - BOTTOM, - resourceLocation(folderName, "top"), - resourceLocation(folderName, "cutouts/top_disconnected"), - resourceLocation(folderName, "right"), - resourceLocation(folderName, "cutouts/right_disconnected"), - resourceLocation(folderName, "left"), - resourceLocation(folderName, "cutouts/left_disconnected"), - resourceLocation(folderName, "front"), - resourceLocation(folderName, "cutouts/front_disconnected"), - resourceLocation(folderName, "back"), - resourceLocation(folderName, "cutouts/back_disconnected") + return models.createCubeCutoutNonEmissiveModel( + "block/" + folderName + "/disconnected", + BOTTOM, + BOTTOM, + resourceLocation(folderName, "top"), + resourceLocation(folderName, "cutouts/top_disconnected"), + resourceLocation(folderName, "right"), + resourceLocation(folderName, "cutouts/right_disconnected"), + resourceLocation(folderName, "left"), + resourceLocation(folderName, "cutouts/left_disconnected"), + resourceLocation(folderName, "front"), + resourceLocation(folderName, "cutouts/front_disconnected"), + resourceLocation(folderName, "back"), + resourceLocation(folderName, "cutouts/back_disconnected") ); } else { ModelFile model = models.createCubeCutoutModel( - "block/" + folderName + "/" + color, - BOTTOM, - BOTTOM, - resourceLocation(folderName, "top"), - resourceLocation(folderName, "cutouts/top" + "_" + color), - resourceLocation(folderName, "right"), - resourceLocation(folderName, "cutouts/right" + "_" + color), - resourceLocation(folderName, "left"), - resourceLocation(folderName, "cutouts/left" + "_" + color), - resourceLocation(folderName, "front"), - resourceLocation(folderName, "cutouts/front" + "_" + color), - resourceLocation(folderName, "back"), - resourceLocation(folderName, "cutouts/back" + "_" + color) + "block/" + folderName + "/" + color, + BOTTOM, + BOTTOM, + resourceLocation(folderName, "top"), + resourceLocation(folderName, "cutouts/top" + "_" + color), + resourceLocation(folderName, "right"), + resourceLocation(folderName, "cutouts/right" + "_" + color), + resourceLocation(folderName, "left"), + resourceLocation(folderName, "cutouts/left" + "_" + color), + resourceLocation(folderName, "front"), + resourceLocation(folderName, "cutouts/front" + "_" + color), + resourceLocation(folderName, "back"), + resourceLocation(folderName, "cutouts/back" + "_" + color) ); simpleBlockItem(block, model); @@ -145,18 +145,18 @@ private void genCubeAllCutoutModels(ColorMap blockMap) { models.simpleBlockStateModel(block, state -> { if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) { - return models.createCubeAllCutoutModel( - "block/" + folderName + "/disconnected", - resourceLocation(folderName, folderName), - resourceLocation(folderName, folderName), - resourceLocation(folderName, "cutouts/disconnected") + return models.createCubeAllCutoutNonEmissiveModel( + "block/" + folderName + "/disconnected", + resourceLocation(folderName, folderName), + resourceLocation(folderName, folderName), + resourceLocation(folderName, "cutouts/disconnected") ); } else { ModelFile model = models.createCubeAllCutoutModel( - "block/" + folderName + "/" + color, - resourceLocation(folderName, folderName), - resourceLocation(folderName, folderName), - resourceLocation(folderName, "cutouts/" + color) + "block/" + folderName + "/" + color, + resourceLocation(folderName, folderName), + resourceLocation(folderName, folderName), + resourceLocation(folderName, "cutouts/" + color) ); simpleBlockItem(block, model); @@ -173,36 +173,36 @@ private void genCrafterModels() { models.anyDirectionalRSBlock(block, state -> { if (Boolean.FALSE.equals(state.getValue(NetworkNodeBlock.CONNECTED))) { - return models.createCubeCutoutModel( - "block/" + folderName + "/disconnected", - BOTTOM, - BOTTOM, - resourceLocation(folderName, "top"), - resourceLocation(folderName, "cutouts/top_disconnected"), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_disconnected"), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_disconnected"), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_disconnected"), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_disconnected") + return models.createCubeCutoutNonEmissiveModel( + "block/" + folderName + "/disconnected", + BOTTOM, + BOTTOM, + resourceLocation(folderName, "top"), + resourceLocation(folderName, "cutouts/top_disconnected"), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_disconnected"), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_disconnected"), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_disconnected"), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_disconnected") ); } else { ModelFile model = models.createCubeCutoutModel( - "block/" + folderName + "/" + color, - BOTTOM, - BOTTOM, - resourceLocation(folderName, "top"), - resourceLocation(folderName, "cutouts/top_" + color), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_" + color), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_" + color), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_" + color), - resourceLocation(folderName, "side"), - resourceLocation(folderName, "cutouts/side_" + color) + "block/" + folderName + "/" + color, + BOTTOM, + BOTTOM, + resourceLocation(folderName, "top"), + resourceLocation(folderName, "cutouts/top_" + color), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_" + color), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_" + color), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_" + color), + resourceLocation(folderName, "side"), + resourceLocation(folderName, "cutouts/side_" + color) ); simpleBlockItem(block, model); @@ -219,34 +219,34 @@ private void genControllerModels(ColorMap blockMap) { models.simpleBlockStateModel(block, state -> { if (state.getValue(ControllerBlock.ENERGY_TYPE).equals(ControllerBlock.EnergyType.OFF)) { - return models.createCubeAllCutoutModel( - "block/" + folderName + "/off", - resourceLocation(folderName, "off"), - resourceLocation(folderName, "off"), - resourceLocation(folderName, "cutouts/off") + return models.createCubeAllCutoutNonEmissiveModel( + "block/" + folderName + "/off", + resourceLocation(folderName, "off"), + resourceLocation(folderName, "off"), + resourceLocation(folderName, "cutouts/off") ); } else if (state.getValue(ControllerBlock.ENERGY_TYPE).equals(ControllerBlock.EnergyType.NEARLY_OFF)) { return models.createControllerNearlyCutoutModel( - "block/" + folderName + "/nearly_off", - resourceLocation(folderName, "off"), - resourceLocation(folderName, "on"), - resourceLocation(folderName, "cutouts/nearly_off"), - resourceLocation(folderName, "cutouts/nearly_off_gray") + "block/" + folderName + "/nearly_off", + resourceLocation(folderName, "off"), + resourceLocation(folderName, "on"), + resourceLocation(folderName, "cutouts/nearly_off"), + resourceLocation(folderName, "cutouts/nearly_off_gray") ); } else if (state.getValue(ControllerBlock.ENERGY_TYPE).equals(ControllerBlock.EnergyType.NEARLY_ON)) { return models.createControllerNearlyCutoutModel( - "block/" + folderName + "/nearly_on", - resourceLocation(folderName, "off"), - resourceLocation(folderName, "on"), - resourceLocation(folderName, "cutouts/nearly_on"), - resourceLocation(folderName, "cutouts/nearly_on_gray") + "block/" + folderName + "/nearly_on", + resourceLocation(folderName, "off"), + resourceLocation(folderName, "on"), + resourceLocation(folderName, "cutouts/nearly_on"), + resourceLocation(folderName, "cutouts/nearly_on_gray") ); } else { ModelFile model = models.createCubeAllCutoutModel( - "block/" + folderName + "/" + color, - resourceLocation(folderName, "off"), - resourceLocation(folderName, "on"), - resourceLocation(folderName, "cutouts/" + color) + "block/" + folderName + "/" + color, + resourceLocation(folderName, "off"), + resourceLocation(folderName, "on"), + resourceLocation(folderName, "cutouts/" + color) ); simpleBlockItem(block, model); @@ -261,27 +261,27 @@ private void genNorthCutoutModels(ColorMap blockMap, boolea Block block = registryObject.get(); String folderName = blockMap.get(ColorMap.DEFAULT_COLOR).getId().getPath(); - ModelFile disconnected = models.createCubeNorthCutoutModel( - "block/" + folderName + "/disconnected", - BOTTOM, - resourceLocation(folderName, "top"), - resourceLocation(folderName, "front"), - resourceLocation(folderName, "back"), - resourceLocation(folderName, "right"), - resourceLocation(folderName, "left"), - resourceLocation(folderName, "right"), - resourceLocation(folderName, "cutouts/disconnected") + ModelFile disconnected = models.createCubeNorthCutoutNonEmissiveModel( + "block/" + folderName + "/disconnected", + BOTTOM, + resourceLocation(folderName, "top"), + resourceLocation(folderName, "front"), + resourceLocation(folderName, "back"), + resourceLocation(folderName, "right"), + resourceLocation(folderName, "left"), + resourceLocation(folderName, "right"), + resourceLocation(folderName, "cutouts/disconnected") ); ModelFile connected = models.createCubeNorthCutoutModel( - "block/" + folderName + "/" + color, - BOTTOM, - resourceLocation(folderName, "top"), - resourceLocation(folderName, "front"), - resourceLocation(folderName, "back"), - resourceLocation(folderName, "right"), - resourceLocation(folderName, "left"), - resourceLocation(folderName, "right"), - resourceLocation(folderName, "cutouts/" + color) + "block/" + folderName + "/" + color, + BOTTOM, + resourceLocation(folderName, "top"), + resourceLocation(folderName, "front"), + resourceLocation(folderName, "back"), + resourceLocation(folderName, "right"), + resourceLocation(folderName, "left"), + resourceLocation(folderName, "right"), + resourceLocation(folderName, "cutouts/" + color) ); //generate Item Model diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModels.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModels.java index 9a6d11f450..0a810a6739 100644 --- a/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModels.java +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModels.java @@ -89,11 +89,21 @@ public BlockModelBuilder createDetectorModel(String name, ResourceLocation torch .texture("torch", torch); } + public BlockModelBuilder createDetectorNonEmissiveModel(String name, ResourceLocation torch) { + return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "detector_nonemissive")) + .texture("torch", torch); + } + public BlockModelBuilder createWirelessTransmitterModel(String name, ResourceLocation cutout) { return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "wireless_transmitter")) .texture("cutout", cutout); } + public BlockModelBuilder createWirelessTransmitterNonEmissiveModel(String name, ResourceLocation cutout) { + return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "wireless_transmitter_nonemissive")) + .texture("cutout", cutout); + } + public BlockModelBuilder createCubeCutoutModel(String name, ResourceLocation down, ResourceLocation downCutout, ResourceLocation up, ResourceLocation upCutout, ResourceLocation east, ResourceLocation eastCutout, ResourceLocation west, ResourceLocation westCutout, ResourceLocation north, ResourceLocation northCutout, ResourceLocation south, ResourceLocation southCutout) { return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_cutout")) .texture("particle", north) @@ -111,6 +121,23 @@ public BlockModelBuilder createCubeCutoutModel(String name, ResourceLocation dow .texture("cutout_up", upCutout); } + public BlockModelBuilder createCubeCutoutNonEmissiveModel(String name, ResourceLocation down, ResourceLocation downCutout, ResourceLocation up, ResourceLocation upCutout, ResourceLocation east, ResourceLocation eastCutout, ResourceLocation west, ResourceLocation westCutout, ResourceLocation north, ResourceLocation northCutout, ResourceLocation south, ResourceLocation southCutout) { + return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_cutout_nonemissive")) + .texture("particle", north) + .texture("east", east) + .texture("south", south) + .texture("west", west) + .texture("up", up) + .texture("down", down) + .texture("north", north) + .texture("cutout_down", downCutout) + .texture("cutout_east", eastCutout) + .texture("cutout_west", westCutout) + .texture("cutout_south", southCutout) + .texture("cutout_north", northCutout) + .texture("cutout_up", upCutout); + } + public BlockModelBuilder createControllerNearlyCutoutModel(String name, ResourceLocation particle, ResourceLocation all, ResourceLocation grayCutout, ResourceLocation cutout) { return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "block/controller_nearly")) .texture("particle", particle) @@ -126,6 +153,13 @@ public BlockModelBuilder createCubeAllCutoutModel(String name, ResourceLocation .texture("cutout", cutout); } + public BlockModelBuilder createCubeAllCutoutNonEmissiveModel(String name, ResourceLocation particle, ResourceLocation all, ResourceLocation cutout) { + return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_all_cutout_nonemissive")) + .texture("particle", particle) + .texture("all", all) + .texture("cutout", cutout); + } + public BlockModelBuilder createCubeNorthCutoutModel(String name, ResourceLocation down, ResourceLocation up, ResourceLocation north, ResourceLocation south, ResourceLocation east, ResourceLocation west, ResourceLocation particle, ResourceLocation cutout) { return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_north_cutout")) .texture("particle", particle) @@ -138,6 +172,18 @@ public BlockModelBuilder createCubeNorthCutoutModel(String name, ResourceLocatio .texture("cutout", cutout); } + public BlockModelBuilder createCubeNorthCutoutNonEmissiveModel(String name, ResourceLocation down, ResourceLocation up, ResourceLocation north, ResourceLocation south, ResourceLocation east, ResourceLocation west, ResourceLocation particle, ResourceLocation cutout) { + return generator.models().withExistingParent(name, new ResourceLocation(RS.ID, "cube_north_cutout_nonemissive")) + .texture("particle", particle) + .texture("east", east) + .texture("south", south) + .texture("west", west) + .texture("up", up) + .texture("down", down) + .texture("north", north) + .texture("cutout", cutout); + } + class CustomLoaderBuilderBasic extends CustomLoaderBuilder { protected CustomLoaderBuilderBasic(ResourceLocation loaderId, BlockModelBuilder parent, ExistingFileHelper existingFileHelper) { super(loaderId, parent, existingFileHelper); diff --git a/src/main/resources/assets/refinedstorage/models/block/constructor_destructor_nonemissive.json b/src/main/resources/assets/refinedstorage/models/block/constructor_destructor_nonemissive.json new file mode 100755 index 0000000000..f3e19b2e77 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/constructor_destructor_nonemissive.json @@ -0,0 +1,161 @@ +{ + "render_type": "cutout", + "textures": { + "border": "refinedstorage:block/cable_part_border" + }, + "elements": [ + { + "name": "Line1", + "from": [ + 7.0, + 7.0, + 2.0 + ], + "to": [ + 9.0, + 9.0, + 6.0 + ], + "faces": { + "east": { + "texture": "#border", + "uv": [ + 0.0, + 0.0, + 4.0, + 2.0 + ] + }, + "south": { + "texture": "#border", + "uv": [ + 0.0, + 0.0, + 4.0, + 4.0 + ] + }, + "west": { + "texture": "#border", + "uv": [ + 0.0, + 0.0, + 4.0, + 2.0 + ] + }, + "up": { + "texture": "#border", + "uv": [ + 0.0, + 0.0, + 2.0, + 4.0 + ] + }, + "down": { + "texture": "#border", + "uv": [ + 0.0, + 0.0, + 2.0, + 4.0 + ] + } + } + }, + { + "name": "Line2", + "from": [ + 2.0, + 2.0, + 0.0 + ], + "to": [ + 14.0, + 14.0, + 2.0 + ], + "faces": { + "north": { + "texture": "#front", + "uv": [ + 0.0, + 0.0, + 16.0, + 16.0 + ] + }, + "east": { + "texture": "#border", + "uv": [ + 14.0, + 0.0, + 16.0, + 16.0 + ] + }, + "south": { + "texture": "#border", + "uv": [ + 0.0, + 0.0, + 16.0, + 16.0 + ] + }, + "west": { + "texture": "#border", + "uv": [ + 0.0, + 0.0, + 2.0, + 16.0 + ] + }, + "up": { + "texture": "#border", + "uv": [ + 2.0, + 0.0, + 14.0, + 2.0 + ] + }, + "down": { + "texture": "#border", + "uv": [ + 2.0, + 14.0, + 14.0, + 16.0 + ] + } + } + }, + { + "name": "Line3", + "from": [ + 2.0, + 2.0, + 0.0 + ], + "to": [ + 14.0, + 14.0, + 2.0 + ], + "faces": { + "north": { + "texture": "#cutout", + "uv": [ + 0.0, + 0.0, + 16.0, + 16.0 + ] + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/block/constructor_disconnected.json b/src/main/resources/assets/refinedstorage/models/block/constructor_disconnected.json index 2b1fdec094..1dcf2b1755 100644 --- a/src/main/resources/assets/refinedstorage/models/block/constructor_disconnected.json +++ b/src/main/resources/assets/refinedstorage/models/block/constructor_disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/constructor_destructor", + "parent": "refinedstorage:block/constructor_destructor_nonemissive", "textures": { "front": "refinedstorage:block/constructor/constructor", "cutout": "refinedstorage:block/constructor/cutouts/disconnected" diff --git a/src/main/resources/assets/refinedstorage/models/block/cube_all_cutout_nonemissive.json b/src/main/resources/assets/refinedstorage/models/block/cube_all_cutout_nonemissive.json new file mode 100644 index 0000000000..fa7bdf6d77 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/cube_all_cutout_nonemissive.json @@ -0,0 +1,82 @@ +{ + "render_type": "cutout", + "parent": "block/cube", + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "down": { + "texture": "#all", + "cullface": "down" + }, + "up": { + "texture": "#all", + "cullface": "up" + }, + "north": { + "texture": "#all", + "cullface": "north" + }, + "south": { + "texture": "#all", + "cullface": "south" + }, + "west": { + "texture": "#all", + "cullface": "west" + }, + "east": { + "texture": "#all", + "cullface": "east" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "up": { + "texture": "#cutout", + "cullface": "up" + }, + "down": { + "texture": "#cutout", + "cullface": "down" + }, + "north": { + "texture": "#cutout", + "cullface": "north" + }, + "south": { + "texture": "#cutout", + "cullface": "south" + }, + "west": { + "texture": "#cutout", + "cullface": "west" + }, + "east": { + "texture": "#cutout", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/block/cube_cutout_nonemissive.json b/src/main/resources/assets/refinedstorage/models/block/cube_cutout_nonemissive.json new file mode 100644 index 0000000000..f6cf9f51a8 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/cube_cutout_nonemissive.json @@ -0,0 +1,82 @@ +{ + "render_type": "cutout", + "parent": "block/cube", + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "down": { + "texture": "#down", + "cullface": "down" + }, + "up": { + "texture": "#up", + "cullface": "up" + }, + "north": { + "texture": "#north", + "cullface": "north" + }, + "south": { + "texture": "#south", + "cullface": "south" + }, + "west": { + "texture": "#west", + "cullface": "west" + }, + "east": { + "texture": "#east", + "cullface": "east" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "up": { + "texture": "#cutout_up", + "cullface": "up" + }, + "down": { + "texture": "#cutout_down", + "cullface": "down" + }, + "north": { + "texture": "#cutout_north", + "cullface": "north" + }, + "south": { + "texture": "#cutout_south", + "cullface": "south" + }, + "west": { + "texture": "#cutout_west", + "cullface": "west" + }, + "east": { + "texture": "#cutout_east", + "cullface": "east" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/block/cube_north_cutout_nonemissive.json b/src/main/resources/assets/refinedstorage/models/block/cube_north_cutout_nonemissive.json new file mode 100644 index 0000000000..e2c556cf89 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/cube_north_cutout_nonemissive.json @@ -0,0 +1,62 @@ +{ + "render_type": "cutout", + "parent": "block/cube", + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "down": { + "texture": "#down", + "cullface": "down" + }, + "up": { + "texture": "#up", + "cullface": "up" + }, + "north": { + "texture": "#north", + "cullface": "north" + }, + "south": { + "texture": "#south", + "cullface": "south" + }, + "west": { + "texture": "#west", + "cullface": "west" + }, + "east": { + "texture": "#east", + "cullface": "east" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "texture": "#cutout", + "cullface": "north" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/block/destructor_disconnected.json b/src/main/resources/assets/refinedstorage/models/block/destructor_disconnected.json index ee6535d822..e62d62ed8b 100644 --- a/src/main/resources/assets/refinedstorage/models/block/destructor_disconnected.json +++ b/src/main/resources/assets/refinedstorage/models/block/destructor_disconnected.json @@ -1,5 +1,5 @@ { - "parent": "refinedstorage:block/constructor_destructor", + "parent": "refinedstorage:block/constructor_destructor_nonemissive", "textures": { "front": "refinedstorage:block/destructor/destructor", "cutout": "refinedstorage:block/destructor/cutouts/disconnected" diff --git a/src/main/resources/assets/refinedstorage/models/block/detector_nonemissive.json b/src/main/resources/assets/refinedstorage/models/block/detector_nonemissive.json new file mode 100755 index 0000000000..ad2cd86fdb --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/detector_nonemissive.json @@ -0,0 +1,210 @@ +{ + "render_type": "cutout", + "parent": "block/cube", + "textures": { + "side": "refinedstorage:block/detector/side", + "bottom": "refinedstorage:block/detector/bottom", + "top": "refinedstorage:block/detector/top", + "particle": "refinedstorage:block/detector/side" + }, + "elements": [ + { + "name": "Handle", + "from": [ + 7, + 5, + 7 + ], + "to": [ + 9, + 8, + 9 + ], + "shade": false, + "faces": { + "north": { + "uv": [ + 7, + 7, + 9, + 11 + ], + "texture": "#side" + }, + "east": { + "uv": [ + 7, + 7, + 9, + 11 + ], + "texture": "#side" + }, + "south": { + "uv": [ + 7, + 7, + 9, + 11 + ], + "texture": "#side" + }, + "west": { + "uv": [ + 7, + 7, + 9, + 11 + ], + "texture": "#side" + }, + "up": { + "uv": [ + 7, + 7, + 9, + 9 + ], + "texture": "#side" + } + } + }, + { + "name": "Torch", + "from": [ + 7, + 5, + 6 + ], + "to": [ + 9, + 11, + 10 + ], + "shade": false, + "faces": { + "east": { + "uv": [ + 6, + 4, + 10, + 12 + ], + "texture": "#torch" + }, + "west": { + "uv": [ + 6, + 4, + 10, + 12 + ], + "texture": "#torch" + } + } + }, + { + "name": "Torch", + "from": [ + 6, + 5, + 7 + ], + "to": [ + 10, + 11, + 9 + ], + "shade": false, + "faces": { + "north": { + "uv": [ + 6, + 4, + 10, + 12 + ], + "texture": "#torch" + }, + "south": { + "uv": [ + 6, + 4, + 10, + 12 + ], + "texture": "#torch" + } + } + }, + { + "name": "Base", + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 5, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 11, + 16, + 16 + ], + "texture": "#side" + }, + "east": { + "uv": [ + 0, + 11, + 16, + 16 + ], + "texture": "#side" + }, + "south": { + "uv": [ + 0, + 11, + 16, + 16 + ], + "texture": "#side" + }, + "west": { + "uv": [ + 0, + 11, + 16, + 16 + ], + "texture": "#side" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#top" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#bottom" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/block/wireless_transmitter_nonemissive.json b/src/main/resources/assets/refinedstorage/models/block/wireless_transmitter_nonemissive.json new file mode 100644 index 0000000000..8704aa8ae9 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/wireless_transmitter_nonemissive.json @@ -0,0 +1,209 @@ +{ + "render_type": "cutout", + "parent": "block/cube", + "ambientocclusion": false, + "textures": { + "particle": "refinedstorage:block/wireless_transmitter/wireless_transmitter", + "torch": "refinedstorage:block/wireless_transmitter/wireless_transmitter" + }, + "elements": [ + { + "from": [ + 7, + 0, + 7 + ], + "to": [ + 9, + 10, + 9 + ], + "shade": false, + "faces": { + "down": { + "uv": [ + 7, + 13, + 9, + 15 + ], + "texture": "#torch" + }, + "up": { + "uv": [ + 7, + 6, + 9, + 8 + ], + "texture": "#torch" + } + } + }, + { + "from": [ + 7, + 0, + 0 + ], + "to": [ + 9, + 16, + 16 + ], + "shade": false, + "faces": { + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#torch" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#torch" + } + } + }, + { + "from": [ + 0, + 0, + 7 + ], + "to": [ + 16, + 16, + 9 + ], + "shade": false, + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#torch" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#torch" + } + } + }, + { + "from": [ + 7, + 0, + 7 + ], + "to": [ + 9, + 10, + 9 + ], + "shade": false, + "faces": { + "down": { + "uv": [ + 7, + 13, + 9, + 15 + ], + "texture": "#cutout" + }, + "up": { + "uv": [ + 7, + 6, + 9, + 8 + ], + "texture": "#cutout" + } + } + }, + { + "from": [ + 7, + 0, + 0 + ], + "to": [ + 9, + 16, + 16 + ], + "shade": false, + "faces": { + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cutout" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cutout" + } + } + }, + { + "from": [ + 0, + 0, + 7 + ], + "to": [ + 16, + 16, + 9 + ], + "shade": false, + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cutout" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cutout" + } + } + } + ] +} \ No newline at end of file From 456e5bdc9301df6069ed0fd6509414c1e1eb0e55 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 15:00:04 +0100 Subject: [PATCH 07/16] fix: controller item models not rendering energy state correctly Also scopes item properties correctly. Fixes #3173 --- .../f481442ce31db2c3b3dabb5b6d85f9a78568164e | 4 +- .../fd27170b6bf91459ed2598d25721edfeafc82e0a | 66 +++++++++---------- .../models/item/black_controller.json | 27 +++++++- .../item/black_creative_controller.json | 27 +++++++- .../models/item/blue_controller.json | 27 +++++++- .../models/item/blue_creative_controller.json | 27 +++++++- .../models/item/brown_controller.json | 27 +++++++- .../item/brown_creative_controller.json | 27 +++++++- .../models/item/controller.json | 27 +++++++- .../models/item/creative_controller.json | 27 +++++++- .../models/item/cyan_controller.json | 27 +++++++- .../models/item/cyan_creative_controller.json | 27 +++++++- .../models/item/gray_controller.json | 27 +++++++- .../models/item/gray_creative_controller.json | 27 +++++++- .../models/item/green_controller.json | 27 +++++++- .../item/green_creative_controller.json | 27 +++++++- .../models/item/light_gray_controller.json | 27 +++++++- .../item/light_gray_creative_controller.json | 27 +++++++- .../models/item/lime_controller.json | 27 +++++++- .../models/item/lime_creative_controller.json | 27 +++++++- .../models/item/magenta_controller.json | 27 +++++++- .../item/magenta_creative_controller.json | 27 +++++++- .../models/item/orange_controller.json | 27 +++++++- .../item/orange_creative_controller.json | 27 +++++++- .../models/item/pink_controller.json | 27 +++++++- .../models/item/pink_creative_controller.json | 27 +++++++- .../models/item/purple_controller.json | 27 +++++++- .../item/purple_creative_controller.json | 27 +++++++- .../models/item/red_controller.json | 27 +++++++- .../models/item/red_creative_controller.json | 27 +++++++- .../models/item/white_controller.json | 27 +++++++- .../item/white_creative_controller.json | 27 +++++++- .../models/item/yellow_controller.json | 27 +++++++- .../item/yellow_creative_controller.json | 27 +++++++- .../tags/blocks/relocation_not_supported.json | 16 ++--- .../datageneration/BlockModelGenerator.java | 20 +++++- .../ControllerItemPropertyGetter.java | 6 +- .../refinedstorage/setup/ClientSetup.java | 8 +-- .../creative_wireless_crafting_monitor.json | 4 +- .../item/creative_wireless_fluid_grid.json | 4 +- .../models/item/creative_wireless_grid.json | 4 +- .../models/item/security_card.json | 4 +- .../item/wireless_crafting_monitor.json | 4 +- .../models/item/wireless_fluid_grid.json | 4 +- .../models/item/wireless_grid.json | 4 +- 45 files changed, 917 insertions(+), 95 deletions(-) diff --git a/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e b/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e index b5b6040f8c..13fd2c89a0 100644 --- a/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e +++ b/src/generated/resources/.cache/f481442ce31db2c3b3dabb5b6d85f9a78568164e @@ -1,5 +1,5 @@ -// 1.20.1 2023-11-05T14:19:25.400231284 Tags for minecraft:block mod id refinedstorage -1fa2f2b3024535fa34f1b192e3f4abaae383119b data/forge/tags/blocks/relocation_not_supported.json +// 1.20.1 2023-11-05T14:52:30.007687009 Tags for minecraft:block mod id refinedstorage +885d292a69d67240dbf2e57e951bf4fff5c7a064 data/forge/tags/blocks/relocation_not_supported.json 061bf4c2f3bdd530115615f2b04e55c2602908bd data/refinedstorage/tags/blocks/controller.json 407a16e5d941c69915f75b135a13e9144cc9c43e data/refinedstorage/tags/blocks/crafter.json dc1342f1d3e6a4cd8eaaa52429a011c10c6c2d96 data/refinedstorage/tags/blocks/crafter_manager.json diff --git a/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a b/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a index 23714c3c30..22654df4c5 100644 --- a/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a +++ b/src/generated/resources/.cache/fd27170b6bf91459ed2598d25721edfeafc82e0a @@ -1,4 +1,4 @@ -// 1.20.1 2023-11-05T14:19:25.392534402 Block States: refinedstorage +// 1.20.1 2023-11-05T14:52:29.995381618 Block States: refinedstorage 7b69e3ab3a7471a50e264579d36c04adb8acad35 assets/refinedstorage/blockstates/black_controller.json c87045bd089212825bdd0f06b0d25e7bcf0e3f5d assets/refinedstorage/blockstates/black_crafter.json 999fe91e1661d6b45f9c29878f06438b3b5919dc assets/refinedstorage/blockstates/black_crafter_manager.json @@ -513,12 +513,12 @@ c2e51f822376d1968fc07e6987f70ff069d460d4 assets/refinedstorage/models/block/wire 747ea39519e81abea94ca278f2e610e7c55d342e assets/refinedstorage/models/block/wireless_transmitter/red.json c6258775f847e0957a14fdfd24dcce3116d90acc assets/refinedstorage/models/block/wireless_transmitter/white.json 556c8e5da522c6e27f8a6ee8de69fc95fafb504e assets/refinedstorage/models/block/wireless_transmitter/yellow.json -b281a426469c35fbbb1cb3e87795daa52ec3f97b assets/refinedstorage/models/item/black_controller.json +0fb53d70880b97a55241dbb04f49b9ad39048920 assets/refinedstorage/models/item/black_controller.json 942d718968e1b8d27b203bc661801d37d154b5f2 assets/refinedstorage/models/item/black_crafter.json 75ac21fb6def11be4568d2ac5ff2651f3564f25d assets/refinedstorage/models/item/black_crafter_manager.json 28891a28805f96c47409a34943342830a15e6690 assets/refinedstorage/models/item/black_crafting_grid.json ddb0a90214bf85dc8e188068f73ae2b20f82150f assets/refinedstorage/models/item/black_crafting_monitor.json -b281a426469c35fbbb1cb3e87795daa52ec3f97b assets/refinedstorage/models/item/black_creative_controller.json +0fb53d70880b97a55241dbb04f49b9ad39048920 assets/refinedstorage/models/item/black_creative_controller.json 241b9b206acf6f4c9ac3151c4044dac213bc0670 assets/refinedstorage/models/item/black_detector.json ac9dc77f9d6ba5ee90101187aa09e406c0d14fbd assets/refinedstorage/models/item/black_disk_manipulator.json 876fc7ec3dda3568c1fd1e8d2b6ceb200d1380ab assets/refinedstorage/models/item/black_fluid_grid.json @@ -529,12 +529,12 @@ d823ba7bc1affa7af633185834d1ff582882f2e6 assets/refinedstorage/models/item/black 61861f588ea12538786c06129c3d0a1040394f16 assets/refinedstorage/models/item/black_relay.json c634efc545854df54c57dd2bf61d6e03448742e6 assets/refinedstorage/models/item/black_security_manager.json 6a1e27442bf1512ba949fafaf135502ae0420169 assets/refinedstorage/models/item/black_wireless_transmitter.json -691f05fe24b16b4eb7688992e08b2f3f5afb02ee assets/refinedstorage/models/item/blue_controller.json +1df94eb9089e76129d911d793c26402ff9313880 assets/refinedstorage/models/item/blue_controller.json 2de69e179294ad396ebe181228c3e9c1787ab550 assets/refinedstorage/models/item/blue_crafter.json cdea55152a48642717bdc630f74ee6fcf1d8f667 assets/refinedstorage/models/item/blue_crafter_manager.json c75d3ac7fb95df1b57ae997f5bf9ed7aad112eb0 assets/refinedstorage/models/item/blue_crafting_grid.json 4fba5520838ccf9f88f51853ad95b9bd6c6c9b9c assets/refinedstorage/models/item/blue_crafting_monitor.json -691f05fe24b16b4eb7688992e08b2f3f5afb02ee assets/refinedstorage/models/item/blue_creative_controller.json +1df94eb9089e76129d911d793c26402ff9313880 assets/refinedstorage/models/item/blue_creative_controller.json f59b716bc576eed79556110ef355fa28cf92d10a assets/refinedstorage/models/item/blue_detector.json 5f8275097f6478a4f23e1ce55dde36a5dc2e5407 assets/refinedstorage/models/item/blue_disk_manipulator.json 675c756edd54900ab155bc45d5a7134cf6dac3a3 assets/refinedstorage/models/item/blue_fluid_grid.json @@ -545,12 +545,12 @@ f59b716bc576eed79556110ef355fa28cf92d10a assets/refinedstorage/models/item/blue_ 763ebca22b3642be09f396deac9cd9c54b90e58f assets/refinedstorage/models/item/blue_relay.json 5abbfde1e5a947ae44fde121c3294f9fb2b60e7d assets/refinedstorage/models/item/blue_security_manager.json e38c127e67a2ef649d7ed595577947c93473d3d2 assets/refinedstorage/models/item/blue_wireless_transmitter.json -4be65b24bde8f3b4dd101ee78b74bb8e22cfd193 assets/refinedstorage/models/item/brown_controller.json +f27acd12556251b68e10d33d55cb90bcee40ab07 assets/refinedstorage/models/item/brown_controller.json 0fb2cc9e3e05d19d9fcc5e04c6baeaa2cb04265c assets/refinedstorage/models/item/brown_crafter.json 022322ce32ac742f4ce5498d3da128741fe0767d assets/refinedstorage/models/item/brown_crafter_manager.json eb37e649bbb3f087df69a30c22215418b3fc901d assets/refinedstorage/models/item/brown_crafting_grid.json 4556f504e89f87de6ab73c12259b73eb151e8d7a assets/refinedstorage/models/item/brown_crafting_monitor.json -4be65b24bde8f3b4dd101ee78b74bb8e22cfd193 assets/refinedstorage/models/item/brown_creative_controller.json +f27acd12556251b68e10d33d55cb90bcee40ab07 assets/refinedstorage/models/item/brown_creative_controller.json 470afaeaaaec68a1474b2efcb2e027382b6d4069 assets/refinedstorage/models/item/brown_detector.json 12c9098c38f118056d9576671287b9783e50be98 assets/refinedstorage/models/item/brown_disk_manipulator.json 7fcf4b0092b4a6e733046548217f8cd40a0b0c01 assets/refinedstorage/models/item/brown_fluid_grid.json @@ -561,18 +561,18 @@ a852eda91b130409a8127af77cf1a00b2aab81c8 assets/refinedstorage/models/item/brown 023fb3d3d0164e237d6d8c83028e66ffb080905f assets/refinedstorage/models/item/brown_relay.json 45c70a18a9b27b3a0f7cd41a450ba23ba4b97faf assets/refinedstorage/models/item/brown_security_manager.json 3c329581c36a66b21409184843a78e90eae25c50 assets/refinedstorage/models/item/brown_wireless_transmitter.json -016151e185659bb813f613e2fd854b97f409e6ee assets/refinedstorage/models/item/controller.json +9af89e77d470eaf03b34847b568e0fcd0cfeb2ca assets/refinedstorage/models/item/controller.json 712a2408676f6ce1208b196d0cfe065136d612fe assets/refinedstorage/models/item/crafter.json 2adb1c2ed2c30890df2492069293f20c085eddf2 assets/refinedstorage/models/item/crafter_manager.json 2ef1da280a960eafd61369b67ea1647966fdcc0c assets/refinedstorage/models/item/crafting_grid.json ea61beccbf6896f3fdf99b8d4787be67573595dc assets/refinedstorage/models/item/crafting_monitor.json -016151e185659bb813f613e2fd854b97f409e6ee assets/refinedstorage/models/item/creative_controller.json -0771c634ffd9a6a354ca2464a26c48bfbb19699d assets/refinedstorage/models/item/cyan_controller.json +9af89e77d470eaf03b34847b568e0fcd0cfeb2ca assets/refinedstorage/models/item/creative_controller.json +d3d25cbac485889dd6766253c3fb96a1827963a9 assets/refinedstorage/models/item/cyan_controller.json 5b3089cc0257509445e335427fcee15a0c6d19e4 assets/refinedstorage/models/item/cyan_crafter.json 734e1865d2b25eda65d72541f7db30b277d3cf73 assets/refinedstorage/models/item/cyan_crafter_manager.json c4fc9d67c903d107548d25237173d1df0dfad2ee assets/refinedstorage/models/item/cyan_crafting_grid.json 133a84e4fd76123350bffc37cab6156ae6a0f61f assets/refinedstorage/models/item/cyan_crafting_monitor.json -0771c634ffd9a6a354ca2464a26c48bfbb19699d assets/refinedstorage/models/item/cyan_creative_controller.json +d3d25cbac485889dd6766253c3fb96a1827963a9 assets/refinedstorage/models/item/cyan_creative_controller.json 3e224af44dddb95f804967974a776f3d39e14f79 assets/refinedstorage/models/item/cyan_detector.json db51d1db8c2ef34f4ca03499081995031fc9bd75 assets/refinedstorage/models/item/cyan_disk_manipulator.json 959e0627277816d1d5a0a529bee59631aa2cbd59 assets/refinedstorage/models/item/cyan_fluid_grid.json @@ -586,12 +586,12 @@ c3bcb743cd9b551b8e3e07dd16a039ccce65167f assets/refinedstorage/models/item/cyan_ a14c5f121b112f80f018eb39e4017a044f5176c2 assets/refinedstorage/models/item/detector.json b864dd2a574cb0ff0f87373ba145b7e7c4b6a315 assets/refinedstorage/models/item/disk_manipulator.json b6f77a02dc8f84c8dc50af0e3ca8d4a2597894fb assets/refinedstorage/models/item/fluid_grid.json -9dfedbca7429678288b5e569f4ca99b1723c24b2 assets/refinedstorage/models/item/gray_controller.json +2793400d4b735f12ca00a38d89ce230de4882728 assets/refinedstorage/models/item/gray_controller.json f201a4dc689054fbf5afa4cd9318059b45e34fac assets/refinedstorage/models/item/gray_crafter.json d699ea44dc8ba183d453f865bb5dd816cae8a628 assets/refinedstorage/models/item/gray_crafter_manager.json e8beb5658c198903aa882e818e9f1a12fb219ed2 assets/refinedstorage/models/item/gray_crafting_grid.json a24b4fb9353df1c8b9ba48ec7cda1402a0d18e06 assets/refinedstorage/models/item/gray_crafting_monitor.json -9dfedbca7429678288b5e569f4ca99b1723c24b2 assets/refinedstorage/models/item/gray_creative_controller.json +2793400d4b735f12ca00a38d89ce230de4882728 assets/refinedstorage/models/item/gray_creative_controller.json 3a62caa71a381e853fb8e1fd09e6eca16de95b8c assets/refinedstorage/models/item/gray_detector.json 876cf3b8ad044945e93a2dcf595e5ee851a95801 assets/refinedstorage/models/item/gray_disk_manipulator.json 4eb03c2834f4d92be29707d3a7e3412d2e5afae7 assets/refinedstorage/models/item/gray_fluid_grid.json @@ -602,12 +602,12 @@ d549169a533feee23ee8f3e1b39b7c4bcf23b475 assets/refinedstorage/models/item/gray_ 39bd74ec45ffe304d1e339d184b2164117d88b5f assets/refinedstorage/models/item/gray_relay.json 9db80d9e795dbe5edff7a565671cf0095a7c4973 assets/refinedstorage/models/item/gray_security_manager.json be60c25b51488e5a1f5db9aa0b8ce834b4f843b6 assets/refinedstorage/models/item/gray_wireless_transmitter.json -83f880c7750bb4e0ab772b23955faa259792b078 assets/refinedstorage/models/item/green_controller.json +a6dccc5437fa6c15a9a032e7862c4c5653849dd8 assets/refinedstorage/models/item/green_controller.json 36aec4f5a603dddd1817a815a612a4eb7190e222 assets/refinedstorage/models/item/green_crafter.json 6fce1c029999c014a5d9bd0ac7b2b24838dc0cf6 assets/refinedstorage/models/item/green_crafter_manager.json 3d835f157f4ace96a84a0e990276fe03fe1758c4 assets/refinedstorage/models/item/green_crafting_grid.json cbb61098395bda16b743c82f56529a00d91a708a assets/refinedstorage/models/item/green_crafting_monitor.json -83f880c7750bb4e0ab772b23955faa259792b078 assets/refinedstorage/models/item/green_creative_controller.json +a6dccc5437fa6c15a9a032e7862c4c5653849dd8 assets/refinedstorage/models/item/green_creative_controller.json 7ec5ba813db5c1ae5663bebfa659b53c8e75096c assets/refinedstorage/models/item/green_detector.json 7b0b74419933a23e3921672b49edc8830d1b3045 assets/refinedstorage/models/item/green_disk_manipulator.json a8c70489b145ecafc07040195946c329ae30da41 assets/refinedstorage/models/item/green_fluid_grid.json @@ -619,12 +619,12 @@ ca9981a8b7c74fbdea91c12409b1c56929f829a2 assets/refinedstorage/models/item/green 29860d74f6f59ebabc4534eb3e437c50d82e6d75 assets/refinedstorage/models/item/green_security_manager.json 0f626e543261b13e2d9021d09fc804236b9c9ca5 assets/refinedstorage/models/item/green_wireless_transmitter.json 8e62b1170a93f317a3a0463eb2dc331bc6a29fc8 assets/refinedstorage/models/item/grid.json -2269e15b0f486194980cd1fe6ed2c7c506d10c3c assets/refinedstorage/models/item/light_gray_controller.json +dbcc2e910fd5029dd5061fc018b0c21bee0aa0b0 assets/refinedstorage/models/item/light_gray_controller.json 1280d243a5ee781a911776123a92280f6871e92b assets/refinedstorage/models/item/light_gray_crafter.json 63d91aa91f0b04bc56661d77cba3802a028b14c3 assets/refinedstorage/models/item/light_gray_crafter_manager.json 5447f9412ac89a2453495f7012906936556f3f97 assets/refinedstorage/models/item/light_gray_crafting_grid.json 589f1eab82f17738f7c84408250051526612166c assets/refinedstorage/models/item/light_gray_crafting_monitor.json -2269e15b0f486194980cd1fe6ed2c7c506d10c3c assets/refinedstorage/models/item/light_gray_creative_controller.json +dbcc2e910fd5029dd5061fc018b0c21bee0aa0b0 assets/refinedstorage/models/item/light_gray_creative_controller.json c0fe9601a0b96cb28e05777646e8b1fa06dff11c assets/refinedstorage/models/item/light_gray_detector.json a015d9065f13234987d35e242922e19a39cda358 assets/refinedstorage/models/item/light_gray_disk_manipulator.json 792b2649c17462ffad43035187f9ae62faf2f741 assets/refinedstorage/models/item/light_gray_fluid_grid.json @@ -635,12 +635,12 @@ d7492fb5ea426b156d29d90cac3c068a69257993 assets/refinedstorage/models/item/light 4b04ebd4de4cc44d66f69595a15e19c986bd89c5 assets/refinedstorage/models/item/light_gray_relay.json 72c8be165eead23444e70fd27b214fbe4b4c8f5c assets/refinedstorage/models/item/light_gray_security_manager.json cf8a25b86388ed35135d6f7abc84c9db2f8c3147 assets/refinedstorage/models/item/light_gray_wireless_transmitter.json -011d6b505683c116a6dec86ac3f6a6164f6b9d6a assets/refinedstorage/models/item/lime_controller.json +191c24b9824b3c218963d8ec68c79a25600cd04e assets/refinedstorage/models/item/lime_controller.json b5fe18a5faa8b19bca2356055bed26e3c4b7d6da assets/refinedstorage/models/item/lime_crafter.json c06a4c91f48f582ec7bbddf1992632496f628052 assets/refinedstorage/models/item/lime_crafter_manager.json 5cd081548f10fccc38406afa4e62211a67068868 assets/refinedstorage/models/item/lime_crafting_grid.json d42a9b602a6b3e8ca87f44093bd5dbb8d025b83b assets/refinedstorage/models/item/lime_crafting_monitor.json -011d6b505683c116a6dec86ac3f6a6164f6b9d6a assets/refinedstorage/models/item/lime_creative_controller.json +191c24b9824b3c218963d8ec68c79a25600cd04e assets/refinedstorage/models/item/lime_creative_controller.json acc983f06040f4785c84fca542678df7bf93eba6 assets/refinedstorage/models/item/lime_detector.json 19e1e36a546b3ec487a2a4356d85b0f0d72ad69d assets/refinedstorage/models/item/lime_disk_manipulator.json 2d485286e0757a593ca7ce9cd37ce34ba036fc4f assets/refinedstorage/models/item/lime_fluid_grid.json @@ -651,12 +651,12 @@ a9be76a8a262a6a315f1227d33c8d7304b21f04a assets/refinedstorage/models/item/lime_ 95676494b1360458129336fb1c89a827d9887d9a assets/refinedstorage/models/item/lime_relay.json c06aaadeb1e8573ee6a8f4d66c47a908df9df070 assets/refinedstorage/models/item/lime_security_manager.json 4ac21895d402f5824f599daeae315330deeeb5cc assets/refinedstorage/models/item/lime_wireless_transmitter.json -9f27b43f99677fca67591759cbe5f6edd73bb50a assets/refinedstorage/models/item/magenta_controller.json +ed8cd700afa7ce785453398f1739fa69b544306b assets/refinedstorage/models/item/magenta_controller.json 7ae69165d5905f17a5e837de77d22941f3f22181 assets/refinedstorage/models/item/magenta_crafter.json 97a0c41ddb54000647c33b56095215033b7f364a assets/refinedstorage/models/item/magenta_crafter_manager.json fea6df9eea90ca27131d5b9e37b08d50b1cb3618 assets/refinedstorage/models/item/magenta_crafting_grid.json 3bf88ca8bbd2ebe7eba52cd6a90a81d4af0391b0 assets/refinedstorage/models/item/magenta_crafting_monitor.json -9f27b43f99677fca67591759cbe5f6edd73bb50a assets/refinedstorage/models/item/magenta_creative_controller.json +ed8cd700afa7ce785453398f1739fa69b544306b assets/refinedstorage/models/item/magenta_creative_controller.json 5fdee8b4342e1b1b8e09a8ab300fcb9dbdcf8530 assets/refinedstorage/models/item/magenta_detector.json 44ff4ad0e90b6b4bc72653d833e04e5352241304 assets/refinedstorage/models/item/magenta_disk_manipulator.json 220ab0b014958d16917799de11a951e9ab8b207c assets/refinedstorage/models/item/magenta_fluid_grid.json @@ -669,12 +669,12 @@ d7bcf381a5d9689d554438184f0fec0012f65f05 assets/refinedstorage/models/item/magen 833c0a8c3e209c604cad8146468143470693f42a assets/refinedstorage/models/item/magenta_wireless_transmitter.json 6dbbe55fd346aaa8eec23b2808ffd18d5840d832 assets/refinedstorage/models/item/network_receiver.json 54f8841b6832f05b8e5076cfb5a714ef66c4b159 assets/refinedstorage/models/item/network_transmitter.json -4c5f868c405f5a821344993b45ce1c7eb53b39ef assets/refinedstorage/models/item/orange_controller.json +62a9e346d5e83e3b4c1c947d7ef5316d93b168a6 assets/refinedstorage/models/item/orange_controller.json 2a934a32a43fd58110eebc7b3e4b05f71c21b76c assets/refinedstorage/models/item/orange_crafter.json 3e7fbb114a1270c3e2cf2d79f043c62e869de2dc assets/refinedstorage/models/item/orange_crafter_manager.json 4f35a7cc88dff4dc4ee066261024f14f123f8227 assets/refinedstorage/models/item/orange_crafting_grid.json 0c7188e1968be58e1797720861a5d104f7dae2a4 assets/refinedstorage/models/item/orange_crafting_monitor.json -4c5f868c405f5a821344993b45ce1c7eb53b39ef assets/refinedstorage/models/item/orange_creative_controller.json +62a9e346d5e83e3b4c1c947d7ef5316d93b168a6 assets/refinedstorage/models/item/orange_creative_controller.json 833cc370275e91e9088bba3505b52e9199beafca assets/refinedstorage/models/item/orange_detector.json cc94b04311c3c1089dc1e488464540f5ef04b448 assets/refinedstorage/models/item/orange_disk_manipulator.json 846a0e2b574b4518a392916902564fc692b72994 assets/refinedstorage/models/item/orange_fluid_grid.json @@ -686,12 +686,12 @@ cae021973ae73db4f26907bc20af071b4788a7d1 assets/refinedstorage/models/item/orang fc333d59e066c62ef6bad598dfaadcc030655f23 assets/refinedstorage/models/item/orange_security_manager.json 27557f3fd10361a51c867fe8211073807576f040 assets/refinedstorage/models/item/orange_wireless_transmitter.json 4368418d5b92cbaa041d20e6f25d06ab3f24fd6f assets/refinedstorage/models/item/pattern_grid.json -ee76a877974d73451d88c2ca231c8854ada09a1b assets/refinedstorage/models/item/pink_controller.json +0514638803a2e3805e5078001fb4f53ceb7d1a41 assets/refinedstorage/models/item/pink_controller.json 3b472cd0ed96b6eb64c7695429cc7a76e629f1a6 assets/refinedstorage/models/item/pink_crafter.json 03a29baf74da2cbf3d7ee5ae8d9925d19c34e8f3 assets/refinedstorage/models/item/pink_crafter_manager.json e0710739ed2c8c74147585c990fe62d9fdb18ab0 assets/refinedstorage/models/item/pink_crafting_grid.json 71045a36761dca453325aced8d84cff206c81817 assets/refinedstorage/models/item/pink_crafting_monitor.json -ee76a877974d73451d88c2ca231c8854ada09a1b assets/refinedstorage/models/item/pink_creative_controller.json +0514638803a2e3805e5078001fb4f53ceb7d1a41 assets/refinedstorage/models/item/pink_creative_controller.json 6c67a4fc7796172f625c4862cf616c86bf8cba79 assets/refinedstorage/models/item/pink_detector.json 75c748b9473e195554615573406e1571b5ccac10 assets/refinedstorage/models/item/pink_disk_manipulator.json c3b2796d126d95f9141472a0c0009d88bd7cb855 assets/refinedstorage/models/item/pink_fluid_grid.json @@ -702,12 +702,12 @@ ba12ed9891fa73b2336ff93ab4bfd0d3b1492652 assets/refinedstorage/models/item/pink_ 6d6d9cd242688e2891cd6fc8c74eb19dcf36ac19 assets/refinedstorage/models/item/pink_relay.json fe2fc6e128f619dddc5d9f04486264a245c2b457 assets/refinedstorage/models/item/pink_security_manager.json 332f608a7dc84019b8b0fa2a5e44ad9f78e430de assets/refinedstorage/models/item/pink_wireless_transmitter.json -4dfb50d2cd83c9592a6273cebe727c01aa4f1636 assets/refinedstorage/models/item/purple_controller.json +0f11e9205719c6fe582e96bd4205ac7c93bfd209 assets/refinedstorage/models/item/purple_controller.json 506b89f03df977db6eb43c09d39b8aa8d7fcc28a assets/refinedstorage/models/item/purple_crafter.json b3b6be54491ba314822a6b47b20a55955b81a986 assets/refinedstorage/models/item/purple_crafter_manager.json 413fffa72205e3c3f50106162bf88e8d18cad8ab assets/refinedstorage/models/item/purple_crafting_grid.json ac159f10aab33c9e95009384d994a46caf4e9c5b assets/refinedstorage/models/item/purple_crafting_monitor.json -4dfb50d2cd83c9592a6273cebe727c01aa4f1636 assets/refinedstorage/models/item/purple_creative_controller.json +0f11e9205719c6fe582e96bd4205ac7c93bfd209 assets/refinedstorage/models/item/purple_creative_controller.json a137fc45d5f9b891ef00d75a2855258a88177668 assets/refinedstorage/models/item/purple_detector.json 525576087501ad8483619e8339a614951eada2b6 assets/refinedstorage/models/item/purple_disk_manipulator.json 80fb0c7bc38471d990c1623918a96db182bbe93b assets/refinedstorage/models/item/purple_fluid_grid.json @@ -718,12 +718,12 @@ c5a01a9ddace2e421e32b12c83d7a0b384be75fa assets/refinedstorage/models/item/purpl e2efaf0e99c7dc1125b32370201be809a67c25d9 assets/refinedstorage/models/item/purple_relay.json 3c3ed303d605e0e9345940fc1756e2ecd1c48287 assets/refinedstorage/models/item/purple_security_manager.json ef7d480ea1f08c1a2a7c2aebcbe3ca751df9f9b6 assets/refinedstorage/models/item/purple_wireless_transmitter.json -30cae1f86496d859b04120d0f0948597323b1c6b assets/refinedstorage/models/item/red_controller.json +004e6cf370c1b7ad3d243a358494bb1af2fdee8d assets/refinedstorage/models/item/red_controller.json 6804c531235f5c7cd13f0c734a30aa58855c66d8 assets/refinedstorage/models/item/red_crafter.json f2804c202120637bff89dd8b2ab8e43ba1f5aafc assets/refinedstorage/models/item/red_crafter_manager.json acddcd41152a23916905fd85ad62081f5cb8c90c assets/refinedstorage/models/item/red_crafting_grid.json 5a93d02b15f7ef2d9803ef0d004930ed1766707b assets/refinedstorage/models/item/red_crafting_monitor.json -30cae1f86496d859b04120d0f0948597323b1c6b assets/refinedstorage/models/item/red_creative_controller.json +004e6cf370c1b7ad3d243a358494bb1af2fdee8d assets/refinedstorage/models/item/red_creative_controller.json 4c1c2a7322dada203e2521225d80c5b516cacb62 assets/refinedstorage/models/item/red_detector.json 262bdaf7a4a2a587dc88e3fb5c72c22e16829998 assets/refinedstorage/models/item/red_disk_manipulator.json 67e092b9a6df25cb4396d3ae4464dd3c009c60b2 assets/refinedstorage/models/item/red_fluid_grid.json @@ -736,12 +736,12 @@ d2127558a02a6cb0a6c58a1feb8a4b9eb251d544 assets/refinedstorage/models/item/red_n 05e22d0e5fafbbe8c6864c896a05907b1808c4cf assets/refinedstorage/models/item/red_wireless_transmitter.json 58e008aea088a9e1903885a2bc6e14d9f0b2c333 assets/refinedstorage/models/item/relay.json e0546ec6993e456e7ef61a35cccc862382b15fd5 assets/refinedstorage/models/item/security_manager.json -346c26a65981ebc056b0ee27d2de9c51ba4994dd assets/refinedstorage/models/item/white_controller.json +9b37576964ccce28c9396299400a78a0a9d9ee04 assets/refinedstorage/models/item/white_controller.json c6e5a16319d0fad19ac8ede0108b658cd4028146 assets/refinedstorage/models/item/white_crafter.json e6194df137b2c614d6402d6dc672beae80430d38 assets/refinedstorage/models/item/white_crafter_manager.json 399926c00694fa7abefd1709cc3da37d7eb0c5af assets/refinedstorage/models/item/white_crafting_grid.json ecff06abfe1465fb6630f027f9253965ceb2ed60 assets/refinedstorage/models/item/white_crafting_monitor.json -346c26a65981ebc056b0ee27d2de9c51ba4994dd assets/refinedstorage/models/item/white_creative_controller.json +9b37576964ccce28c9396299400a78a0a9d9ee04 assets/refinedstorage/models/item/white_creative_controller.json 5f1ae8346d30d2e4f6b5aed97504d35ec05eecfe assets/refinedstorage/models/item/white_detector.json 0eec3932d36ed9e265a48b90fc1ae83bb95a3aa3 assets/refinedstorage/models/item/white_disk_manipulator.json ca0c7707acf771758db0194f30f1247d4721ae50 assets/refinedstorage/models/item/white_fluid_grid.json @@ -753,12 +753,12 @@ ca0c7707acf771758db0194f30f1247d4721ae50 assets/refinedstorage/models/item/white 42c146254c8c634eb9f79f29b909535b0504d6a5 assets/refinedstorage/models/item/white_security_manager.json dffc5e13406d4370d1cc3fcc69c7556029406e98 assets/refinedstorage/models/item/white_wireless_transmitter.json 08797906f5356ea0ccc061347d188bab0c63c02d assets/refinedstorage/models/item/wireless_transmitter.json -ffd57aa30d902404da8963c14320fa8be54d6451 assets/refinedstorage/models/item/yellow_controller.json +2fca7b8b45c98bc01de598dd53f0f80f2e547dd4 assets/refinedstorage/models/item/yellow_controller.json 1bf5a3d8d72edcd34ddf8266caaac89717a02ecb assets/refinedstorage/models/item/yellow_crafter.json 6b33ac9d2c729a4ea8dd42efb8feeb553a434d70 assets/refinedstorage/models/item/yellow_crafter_manager.json b628289d264ed316cd2d88c297fb8712f8bbffd2 assets/refinedstorage/models/item/yellow_crafting_grid.json 496e7503c51cf826e718301641235d07ddb24de7 assets/refinedstorage/models/item/yellow_crafting_monitor.json -ffd57aa30d902404da8963c14320fa8be54d6451 assets/refinedstorage/models/item/yellow_creative_controller.json +2fca7b8b45c98bc01de598dd53f0f80f2e547dd4 assets/refinedstorage/models/item/yellow_creative_controller.json 04e4c31f56373507a46da2deccc4890305fe671e assets/refinedstorage/models/item/yellow_detector.json 6412b4000a8034e4b5e019b9a6d9c32085cda263 assets/refinedstorage/models/item/yellow_disk_manipulator.json 5b6b9685ed940cdfcede5c4df4b6836fbd748895 assets/refinedstorage/models/item/yellow_fluid_grid.json diff --git a/src/generated/resources/assets/refinedstorage/models/item/black_controller.json b/src/generated/resources/assets/refinedstorage/models/item/black_controller.json index cb94271939..77f69fea50 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/black_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/black_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/black" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/black", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/black_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/black_creative_controller.json index cb94271939..77f69fea50 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/black_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/black_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/black" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/black", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/blue_controller.json b/src/generated/resources/assets/refinedstorage/models/item/blue_controller.json index bc76a60882..9809a99e45 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/blue_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/blue_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/blue" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/blue", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/blue_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/blue_creative_controller.json index bc76a60882..9809a99e45 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/blue_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/blue_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/blue" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/blue", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/brown_controller.json b/src/generated/resources/assets/refinedstorage/models/item/brown_controller.json index 56cbbdfcda..d425937577 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/brown_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/brown_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/brown" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/brown", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/brown_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/brown_creative_controller.json index 56cbbdfcda..d425937577 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/brown_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/brown_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/brown" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/brown", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/controller.json b/src/generated/resources/assets/refinedstorage/models/item/controller.json index 990f3923db..23ab4e6ec5 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/light_blue" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/light_blue", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/creative_controller.json index 990f3923db..23ab4e6ec5 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/light_blue" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/light_blue", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/cyan_controller.json b/src/generated/resources/assets/refinedstorage/models/item/cyan_controller.json index 47221fabce..2ff8aa9b0f 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/cyan_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/cyan_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/cyan" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/cyan", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/cyan_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/cyan_creative_controller.json index 47221fabce..2ff8aa9b0f 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/cyan_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/cyan_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/cyan" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/cyan", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/gray_controller.json b/src/generated/resources/assets/refinedstorage/models/item/gray_controller.json index f88c49bf56..0d55382c09 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/gray_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/gray_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/gray" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/gray", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/gray_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/gray_creative_controller.json index f88c49bf56..0d55382c09 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/gray_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/gray_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/gray" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/gray", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/green_controller.json b/src/generated/resources/assets/refinedstorage/models/item/green_controller.json index 77e71dcaaa..7cb5b0a198 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/green_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/green_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/green" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/green", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/green_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/green_creative_controller.json index 77e71dcaaa..7cb5b0a198 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/green_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/green_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/green" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/green", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/light_gray_controller.json b/src/generated/resources/assets/refinedstorage/models/item/light_gray_controller.json index 128f618caa..2635121470 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/light_gray_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/light_gray_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/light_gray" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/light_gray", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/light_gray_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/light_gray_creative_controller.json index 128f618caa..2635121470 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/light_gray_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/light_gray_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/light_gray" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/light_gray", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/lime_controller.json b/src/generated/resources/assets/refinedstorage/models/item/lime_controller.json index d795339fd9..ed97c45436 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/lime_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/lime_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/lime" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/lime", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/lime_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/lime_creative_controller.json index d795339fd9..ed97c45436 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/lime_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/lime_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/lime" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/lime", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/magenta_controller.json b/src/generated/resources/assets/refinedstorage/models/item/magenta_controller.json index 6852bbc375..c9913d1ca6 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/magenta_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/magenta_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/magenta" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/magenta", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/magenta_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/magenta_creative_controller.json index 6852bbc375..c9913d1ca6 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/magenta_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/magenta_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/magenta" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/magenta", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/orange_controller.json b/src/generated/resources/assets/refinedstorage/models/item/orange_controller.json index 61fc873b6c..c3251821dd 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/orange_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/orange_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/orange" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/orange", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/orange_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/orange_creative_controller.json index 61fc873b6c..c3251821dd 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/orange_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/orange_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/orange" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/orange", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/pink_controller.json b/src/generated/resources/assets/refinedstorage/models/item/pink_controller.json index 920e549424..b9990aa435 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/pink_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/pink_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/pink" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/pink", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/pink_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/pink_creative_controller.json index 920e549424..b9990aa435 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/pink_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/pink_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/pink" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/pink", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/purple_controller.json b/src/generated/resources/assets/refinedstorage/models/item/purple_controller.json index 1316bea3d3..2b2682be3e 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/purple_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/purple_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/purple" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/purple", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/purple_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/purple_creative_controller.json index 1316bea3d3..2b2682be3e 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/purple_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/purple_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/purple" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/purple", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/red_controller.json b/src/generated/resources/assets/refinedstorage/models/item/red_controller.json index eb572767fb..c3151af905 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/red_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/red_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/red" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/red", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/red_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/red_creative_controller.json index eb572767fb..c3151af905 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/red_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/red_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/red" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/red", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/white_controller.json b/src/generated/resources/assets/refinedstorage/models/item/white_controller.json index bb2593f057..40ae4ca376 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/white_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/white_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/white" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/white", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/white_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/white_creative_controller.json index bb2593f057..40ae4ca376 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/white_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/white_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/white" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/white", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/yellow_controller.json b/src/generated/resources/assets/refinedstorage/models/item/yellow_controller.json index 7821d06ec2..b652c94215 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/yellow_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/yellow_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/yellow" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/yellow", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/assets/refinedstorage/models/item/yellow_creative_controller.json b/src/generated/resources/assets/refinedstorage/models/item/yellow_creative_controller.json index 7821d06ec2..b652c94215 100644 --- a/src/generated/resources/assets/refinedstorage/models/item/yellow_creative_controller.json +++ b/src/generated/resources/assets/refinedstorage/models/item/yellow_creative_controller.json @@ -1,3 +1,28 @@ { - "parent": "refinedstorage:block/controller/yellow" + "overrides": [ + { + "model": "refinedstorage:block/controller/off", + "predicate": { + "refinedstorage:energy_type": 0.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_off", + "predicate": { + "refinedstorage:energy_type": 1.0 + } + }, + { + "model": "refinedstorage:block/controller/nearly_on", + "predicate": { + "refinedstorage:energy_type": 2.0 + } + }, + { + "model": "refinedstorage:block/controller/yellow", + "predicate": { + "refinedstorage:energy_type": 3.0 + } + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json b/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json index d230f6c516..1e66d23797 100644 --- a/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json +++ b/src/generated/resources/data/forge/tags/blocks/relocation_not_supported.json @@ -1,21 +1,21 @@ { "values": [ - "#refinedstorage:disk_manipulator", "#refinedstorage:creative_controller", - "#refinedstorage:wireless_transmitter", - "#refinedstorage:controller", + "#refinedstorage:detector", + "#refinedstorage:pattern_grid", "#refinedstorage:network_transmitter", "#refinedstorage:security_manager", + "#refinedstorage:disk_manipulator", + "#refinedstorage:wireless_transmitter", "#refinedstorage:crafter_manager", "#refinedstorage:grid", - "#refinedstorage:crafter", - "#refinedstorage:crafting_grid", - "#refinedstorage:pattern_grid", "#refinedstorage:crafting_monitor", - "#refinedstorage:relay", - "#refinedstorage:detector", + "#refinedstorage:controller", + "#refinedstorage:crafting_grid", + "#refinedstorage:crafter", "#refinedstorage:fluid_grid", "#refinedstorage:network_receiver", + "#refinedstorage:relay", "refinedstorage:1k_storage_block", "refinedstorage:4k_storage_block", "refinedstorage:16k_storage_block", diff --git a/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java index 05fd52a44c..5c3872c020 100644 --- a/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java +++ b/src/main/java/com/refinedmods/refinedstorage/datageneration/BlockModelGenerator.java @@ -13,6 +13,7 @@ import net.minecraftforge.client.model.generators.BlockStateProvider; import net.minecraftforge.client.model.generators.ModelFile; import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.registries.ForgeRegistries; public class BlockModelGenerator extends BlockStateProvider { private static final ResourceLocation BOTTOM = new ResourceLocation(RS.ID, "block/bottom"); @@ -249,7 +250,24 @@ private void genControllerModels(ColorMap blockMap) { resourceLocation(folderName, "cutouts/" + color) ); - simpleBlockItem(block, model); + final ResourceLocation energyType = new ResourceLocation(RS.ID, "energy_type"); + itemModels().getBuilder(ForgeRegistries.BLOCKS.getKey(block).getPath()) + .override() + .predicate(energyType, 0) + .model(models().getExistingFile( + new ResourceLocation(RS.ID, "block/" + folderName + "/off") + )).end().override() + .predicate(energyType, 1) + .model(models().getExistingFile( + new ResourceLocation(RS.ID, "block/" + folderName + "/nearly_off") + )).end().override() + .predicate(energyType, 2) + .model(models().getExistingFile( + new ResourceLocation(RS.ID, "block/" + folderName + "/nearly_on") + )).end().override() + .predicate(energyType, 3) + .model(model).end(); + return model; } }); diff --git a/src/main/java/com/refinedmods/refinedstorage/item/property/ControllerItemPropertyGetter.java b/src/main/java/com/refinedmods/refinedstorage/item/property/ControllerItemPropertyGetter.java index 205ec1c433..2109369825 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/property/ControllerItemPropertyGetter.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/property/ControllerItemPropertyGetter.java @@ -14,10 +14,14 @@ public class ControllerItemPropertyGetter implements ItemPropertyFunction { @Override public float call(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int p) { + // if that stack is still clean (like in the creative mode tab, or just crafted) maintain the on state. + if (stack.getTag() == null) { + return ControllerBlock.EnergyType.ON.ordinal(); + } IEnergyStorage storage = stack.getCapability(ForgeCapabilities.ENERGY).orElse(null); if (storage != null) { return Network.getEnergyType(storage.getEnergyStored(), storage.getMaxEnergyStored()).ordinal(); } - return ControllerBlock.EnergyType.OFF.ordinal(); + return ControllerBlock.EnergyType.ON.ordinal(); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java b/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java index 0256a42beb..52f1f06525 100644 --- a/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java +++ b/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java @@ -50,7 +50,7 @@ public final class ClientSetup { private static final ResourceLocation DISK_FULL_RESOURCE = new ResourceLocation(RS.ID + ":block/disks/disk_full"); private static final ResourceLocation DISK_DISCONNECTED_RESOURCE = new ResourceLocation(RS.ID + ":block/disks/disk_disconnected"); - private static final ResourceLocation CONNECTED = new ResourceLocation("connected"); + private static final ResourceLocation CONNECTED = new ResourceLocation(RS.ID, "connected"); private static final BakedModelOverrideRegistry BAKED_MODEL_OVERRIDE_REGISTRY = new BakedModelOverrideRegistry(); @@ -96,10 +96,10 @@ public static void onClientSetup(FMLClientSetupEvent e) { // ItemProperties isn't thread safe e.enqueueWork(() -> { - ItemProperties.register(RSItems.SECURITY_CARD.get(), new ResourceLocation("active"), new SecurityCardItemPropertyGetter()); + ItemProperties.register(RSItems.SECURITY_CARD.get(), new ResourceLocation(RS.ID, "active"), new SecurityCardItemPropertyGetter()); - RSItems.CONTROLLER.values().forEach(controller -> ItemProperties.register(controller.get(), new ResourceLocation("energy_type"), new ControllerItemPropertyGetter())); - RSItems.CREATIVE_CONTROLLER.values().forEach(controller -> ItemProperties.register(controller.get(), new ResourceLocation("energy_type"), new ControllerItemPropertyGetter())); + RSItems.CONTROLLER.values().forEach(controller -> ItemProperties.register(controller.get(), new ResourceLocation(RS.ID, "energy_type"), new ControllerItemPropertyGetter())); + RSItems.CREATIVE_CONTROLLER.values().forEach(controller -> ItemProperties.register(controller.get(), new ResourceLocation(RS.ID, "energy_type"), new ControllerItemPropertyGetter())); ItemProperties.register(RSItems.WIRELESS_CRAFTING_MONITOR.get(), CONNECTED, new NetworkItemPropertyGetter()); ItemProperties.register(RSItems.CREATIVE_WIRELESS_CRAFTING_MONITOR.get(), CONNECTED, new NetworkItemPropertyGetter()); diff --git a/src/main/resources/assets/refinedstorage/models/item/creative_wireless_crafting_monitor.json b/src/main/resources/assets/refinedstorage/models/item/creative_wireless_crafting_monitor.json index 6c3d31f1b2..a1f687f8b9 100644 --- a/src/main/resources/assets/refinedstorage/models/item/creative_wireless_crafting_monitor.json +++ b/src/main/resources/assets/refinedstorage/models/item/creative_wireless_crafting_monitor.json @@ -6,13 +6,13 @@ "overrides": [ { "predicate": { - "connected": 0 + "refinedstorage:connected": 0 }, "model": "refinedstorage:item/wireless_crafting_monitor_disconnected" }, { "predicate": { - "connected": 1 + "refinedstorage:connected": 1 }, "model": "refinedstorage:item/wireless_crafting_monitor_connected" } diff --git a/src/main/resources/assets/refinedstorage/models/item/creative_wireless_fluid_grid.json b/src/main/resources/assets/refinedstorage/models/item/creative_wireless_fluid_grid.json index 8fce21f788..cd4890a764 100644 --- a/src/main/resources/assets/refinedstorage/models/item/creative_wireless_fluid_grid.json +++ b/src/main/resources/assets/refinedstorage/models/item/creative_wireless_fluid_grid.json @@ -6,13 +6,13 @@ "overrides": [ { "predicate": { - "connected": 0 + "refinedstorage:connected": 0 }, "model": "refinedstorage:item/wireless_fluid_grid_disconnected" }, { "predicate": { - "connected": 1 + "refinedstorage:connected": 1 }, "model": "refinedstorage:item/wireless_fluid_grid_connected" } diff --git a/src/main/resources/assets/refinedstorage/models/item/creative_wireless_grid.json b/src/main/resources/assets/refinedstorage/models/item/creative_wireless_grid.json index a5f147c186..dba825f605 100644 --- a/src/main/resources/assets/refinedstorage/models/item/creative_wireless_grid.json +++ b/src/main/resources/assets/refinedstorage/models/item/creative_wireless_grid.json @@ -6,13 +6,13 @@ "overrides": [ { "predicate": { - "connected": 0 + "refinedstorage:connected": 0 }, "model": "refinedstorage:item/wireless_grid_disconnected" }, { "predicate": { - "connected": 1 + "refinedstorage:connected": 1 }, "model": "refinedstorage:item/wireless_grid_connected" } diff --git a/src/main/resources/assets/refinedstorage/models/item/security_card.json b/src/main/resources/assets/refinedstorage/models/item/security_card.json index fd77a4a274..33d62782a7 100755 --- a/src/main/resources/assets/refinedstorage/models/item/security_card.json +++ b/src/main/resources/assets/refinedstorage/models/item/security_card.json @@ -6,13 +6,13 @@ "overrides": [ { "predicate": { - "active": 0 + "refinedstorage:active": 0 }, "model": "refinedstorage:item/security_card_inactive" }, { "predicate": { - "active": 1 + "refinedstorage:active": 1 }, "model": "refinedstorage:item/security_card_active" } diff --git a/src/main/resources/assets/refinedstorage/models/item/wireless_crafting_monitor.json b/src/main/resources/assets/refinedstorage/models/item/wireless_crafting_monitor.json index 6c3d31f1b2..a1f687f8b9 100755 --- a/src/main/resources/assets/refinedstorage/models/item/wireless_crafting_monitor.json +++ b/src/main/resources/assets/refinedstorage/models/item/wireless_crafting_monitor.json @@ -6,13 +6,13 @@ "overrides": [ { "predicate": { - "connected": 0 + "refinedstorage:connected": 0 }, "model": "refinedstorage:item/wireless_crafting_monitor_disconnected" }, { "predicate": { - "connected": 1 + "refinedstorage:connected": 1 }, "model": "refinedstorage:item/wireless_crafting_monitor_connected" } diff --git a/src/main/resources/assets/refinedstorage/models/item/wireless_fluid_grid.json b/src/main/resources/assets/refinedstorage/models/item/wireless_fluid_grid.json index 8fce21f788..cd4890a764 100755 --- a/src/main/resources/assets/refinedstorage/models/item/wireless_fluid_grid.json +++ b/src/main/resources/assets/refinedstorage/models/item/wireless_fluid_grid.json @@ -6,13 +6,13 @@ "overrides": [ { "predicate": { - "connected": 0 + "refinedstorage:connected": 0 }, "model": "refinedstorage:item/wireless_fluid_grid_disconnected" }, { "predicate": { - "connected": 1 + "refinedstorage:connected": 1 }, "model": "refinedstorage:item/wireless_fluid_grid_connected" } diff --git a/src/main/resources/assets/refinedstorage/models/item/wireless_grid.json b/src/main/resources/assets/refinedstorage/models/item/wireless_grid.json index a5f147c186..dba825f605 100755 --- a/src/main/resources/assets/refinedstorage/models/item/wireless_grid.json +++ b/src/main/resources/assets/refinedstorage/models/item/wireless_grid.json @@ -6,13 +6,13 @@ "overrides": [ { "predicate": { - "connected": 0 + "refinedstorage:connected": 0 }, "model": "refinedstorage:item/wireless_grid_disconnected" }, { "predicate": { - "connected": 1 + "refinedstorage:connected": 1 }, "model": "refinedstorage:item/wireless_grid_connected" } From 3e54914fa227f189b69ff0ed65a8c5b63235f8bb Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 15:24:13 +0100 Subject: [PATCH 08/16] fix: dupe bug with controller Remainders weren't being accounted for when inserting to player inv. Fixes #3544 --- .../network/grid/CraftingGridBehavior.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java index 65b7f62a5d..c62944ff53 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/CraftingGridBehavior.java @@ -23,6 +23,9 @@ import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.event.ForgeEventFactory; import net.minecraftforge.items.ItemHandlerHelper; +import net.minecraftforge.items.wrapper.InvWrapper; +import net.minecraftforge.items.wrapper.PlayerInvWrapper; +import net.minecraftforge.items.wrapper.PlayerMainInvWrapper; import javax.annotation.Nullable; import java.util.*; @@ -123,16 +126,18 @@ public void onCraftedShift(INetworkAwareGrid grid, Player player) { } for (ItemStack craftedItem : craftedItemsList) { - if (!player.getInventory().add(craftedItem.copy())) { - ItemStack remainder = craftedItem; - - if (useNetwork) { - remainder = network.insertItem(craftedItem, craftedItem.getCount(), Action.PERFORM); - } + ItemStack remainder = ItemHandlerHelper.insertItem( + new PlayerMainInvWrapper(player.getInventory()), + craftedItem.copy(), + false + ); + + if (!remainder.isEmpty() && useNetwork) { + remainder = network.insertItem(remainder, remainder.getCount(), Action.PERFORM); + } - if (!remainder.isEmpty()) { - Containers.dropItemStack(player.getCommandSenderWorld(), player.getX(), player.getY(), player.getZ(), remainder); - } + if (!remainder.isEmpty()) { + Containers.dropItemStack(player.getCommandSenderWorld(), player.getX(), player.getY(), player.getZ(), remainder); } } From 1522971a939f6bbe6f7ab4d143c1263405e44928 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 17:17:18 +0100 Subject: [PATCH 09/16] fix: importer using simulated extractions to insert The behavior is now consistent with items. This caused issues with Gregtech, they returned fluids that weren't extractable in simulation mode so RS ended up duping them. Now we only insert fluids that return from execution mode. Fixes #3570 --- .../network/node/ImporterNetworkNode.java | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ImporterNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ImporterNetworkNode.java index 85158a2187..694022036c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ImporterNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ImporterNetworkNode.java @@ -103,20 +103,15 @@ public void update() { IFluidHandler handler = LevelUtils.getFluidHandler(getFacingBlockEntity(), getDirection().getOpposite()); if (handler != null) { - FluidStack stack = handler.drain(FluidType.BUCKET_VOLUME, IFluidHandler.FluidAction.SIMULATE); + FluidStack extractedSimulated = handler.drain(FluidType.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.SIMULATE); - if (!stack.isEmpty() && - IWhitelistBlacklist.acceptsFluid(fluidFilters, mode, compare, stack) && - network.insertFluid(stack, stack.getAmount(), Action.SIMULATE).isEmpty()) { - FluidStack toDrain = handler.drain(FluidType.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.SIMULATE); + if (!extractedSimulated.isEmpty() + && IWhitelistBlacklist.acceptsFluid(fluidFilters, mode, compare, extractedSimulated) + && network.insertFluid(extractedSimulated, extractedSimulated.getAmount(), Action.SIMULATE).isEmpty()) { + FluidStack extracted = handler.drain(extractedSimulated, IFluidHandler.FluidAction.EXECUTE); - if (!toDrain.isEmpty()) { - FluidStack remainder = network.insertFluidTracked(toDrain, toDrain.getAmount()); - if (!remainder.isEmpty()) { - toDrain.shrink(remainder.getAmount()); - } - - handler.drain(toDrain, IFluidHandler.FluidAction.EXECUTE); + if (!extracted.isEmpty()) { + network.insertFluidTracked(extracted, extracted.getAmount()); } } } From 5c2c146af8b9008451ad783d417f47ed958f8da3 Mon Sep 17 00:00:00 2001 From: Darkere Date: Sun, 5 Nov 2023 17:35:44 +0100 Subject: [PATCH 10/16] fix: crash when tranferring items --- CHANGELOG.md | 4 ++++ .../integration/jei/GridRecipeTransferHandler.java | 10 ++++++++-- .../network/grid/GridTransferMessage.java | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5416ac147..f17be577ca 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed + +- Fixed JEI transfer for larger processing recipes + ## [1.12.3] - 2023-07-07 ### Fixed diff --git a/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java b/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java index a8027d27ab..d807611375 100644 --- a/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java +++ b/src/main/java/com/refinedmods/refinedstorage/integration/jei/GridRecipeTransferHandler.java @@ -19,7 +19,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.Recipe; import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.Nullable; @@ -127,7 +127,13 @@ public boolean hasTransferredRecently() { private void moveItems(GridContainerMenu gridContainer, Object recipe, IRecipeSlotsView recipeLayout, Player player) { this.lastTransferTimeMs = System.currentTimeMillis(); - if (gridContainer.getGrid().getGridType() == GridType.PATTERN && !(recipe instanceof CraftingRecipe)) { + boolean isCraftingRecipe = false; + if(recipe instanceof Recipe castRecipe) + { + isCraftingRecipe = castRecipe.getType() == net.minecraft.world.item.crafting.RecipeType.CRAFTING; + } + + if (gridContainer.getGrid().getGridType() == GridType.PATTERN && !isCraftingRecipe) { moveForProcessing(recipeLayout, gridContainer, player); } else { move(recipeLayout); diff --git a/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java b/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java index 406c219da2..a2fec97297 100644 --- a/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java +++ b/src/main/java/com/refinedmods/refinedstorage/network/grid/GridTransferMessage.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.function.Supplier; public class GridTransferMessage { - private final ItemStack[][] recipe = new ItemStack[9][]; + private ItemStack[][] recipe; List> inputs; public GridTransferMessage() { @@ -26,6 +26,7 @@ public GridTransferMessage(List> inputs) { public static GridTransferMessage decode(FriendlyByteBuf buf) { GridTransferMessage msg = new GridTransferMessage(); int slots = buf.readInt(); + msg.recipe = new ItemStack[slots][]; for (int i = 0; i < slots; i++) { int numberOfIngredients = buf.readInt(); msg.recipe[i] = new ItemStack[numberOfIngredients]; From ca4199c2105d25aa6394a440208aaffc93448a1f Mon Sep 17 00:00:00 2001 From: Darkere Date: Sun, 5 Nov 2023 18:26:07 +0100 Subject: [PATCH 11/16] fix: rare autocrafting crash --- .../task/v6/node/CraftingNode.java | 16 ++++++++++-- .../task/v6/node/NodeRequirements.java | 4 +-- .../task/v6/node/ProcessingNode.java | 26 ++++++++++++++++--- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/CraftingNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/CraftingNode.java index 35fffd4060..3dce112708 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/CraftingNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/CraftingNode.java @@ -47,8 +47,20 @@ public void update(INetwork network, int ticks, NodeList nodes, IStorageDisk getSingleItemRequirementSet(boolean simulate) { } } } else { - throw new IllegalStateException("Bad!"); + return null; } } @@ -137,7 +137,7 @@ public List getSingleFluidRequirementSet(boolean simulate) { } } } else { - throw new IllegalStateException("Bad!"); + return null; } } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java index f6bdfc0410..09b865e4ab 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java @@ -121,10 +121,20 @@ public void update(INetwork network, int ticks, NodeList nodes, IStorageDisk extractedItems = IoUtil.extractFromInternalItemStorage(requirements.getSingleItemRequirementSet(true), internalStorage, Action.SIMULATE); + var simulatedRequirements = requirements.getSingleItemRequirementSet(true); + if(simulatedRequirements == null) { + return; + } + + List extractedItems = IoUtil.extractFromInternalItemStorage(simulatedRequirements, internalStorage, Action.SIMULATE); List extractedFluids = null; if (extractedItems != null) { - extractedFluids = IoUtil.extractFromInternalFluidStorage(requirements.getSingleFluidRequirementSet(true), internalFluidStorage, Action.SIMULATE); + var simulatedFluidRequirements = requirements.getSingleFluidRequirementSet(true); + if(simulatedFluidRequirements == null) { + return; + } + + extractedFluids = IoUtil.extractFromInternalFluidStorage(simulatedFluidRequirements, internalFluidStorage, Action.SIMULATE); if (extractedFluids != null) { hasAllRequirements = true; } @@ -151,9 +161,17 @@ public void update(INetwork network, int ticks, NodeList nodes, IStorageDisk Date: Sun, 5 Nov 2023 18:30:01 +0100 Subject: [PATCH 12/16] docs: add changelog for autocrafting fix --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f17be577ca..559cdd9947 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### Fixed -- Fixed JEI transfer for larger processing recipes +- Fixed JEI transfer for larger processing recipes +- Fixed rare autocrafting crash ## [1.12.3] - 2023-07-07 From 0786cd823e24b75e2d7981f70ccd55ce940546e1 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 20:08:58 +0100 Subject: [PATCH 13/16] fix: restore compat with inventory sorter, ignore crafter container Fixes #3214 --- .../inventorysorter/InventorySorterIntegration.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/integration/inventorysorter/InventorySorterIntegration.java b/src/main/java/com/refinedmods/refinedstorage/integration/inventorysorter/InventorySorterIntegration.java index 06b571886c..d676234576 100644 --- a/src/main/java/com/refinedmods/refinedstorage/integration/inventorysorter/InventorySorterIntegration.java +++ b/src/main/java/com/refinedmods/refinedstorage/integration/inventorysorter/InventorySorterIntegration.java @@ -1,6 +1,9 @@ package com.refinedmods.refinedstorage.integration.inventorysorter; +import com.refinedmods.refinedstorage.RS; +import net.minecraft.resources.ResourceLocation; import net.minecraftforge.fml.ModList; +import net.minecraftforge.fml.InterModComms; public class InventorySorterIntegration { private static final String ID = "inventorysorter"; @@ -14,6 +17,7 @@ public static boolean isLoaded() { public static void register() { // Prevent items moving while scrolling through slots with Inventory Sorter in the Crafter Manager - // InterModComms.sendTo("inventorysorter", "slotblacklist", () -> "com.refinedmods.refinedstorage.container.slot.CrafterManagerSlot"); + InterModComms.sendTo("inventorysorter", "slotblacklist", () -> "com.refinedmods.refinedstorage.container.slot.CrafterManagerSlot"); + InterModComms.sendTo("inventorysorter", "containerblacklist", () -> new ResourceLocation(RS.ID, "crafter")); } } From ea57d2d9e28cd5999e29bf1cb2e10666cd1f6983 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 20:15:17 +0100 Subject: [PATCH 14/16] docs: update CHANGELOG --- CHANGELOG.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 559cdd9947..8894694e4c 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,23 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added + +- Re-added compatibility with Inventory Sorter. + ### Fixed -- Fixed JEI transfer for larger processing recipes -- Fixed rare autocrafting crash +- Various world corruption issues if Refined Storage blocks were removed unexpectedly or with another mod. +- Fixed Grid search bar not being able to lose focus. +- Fixed JEI transfer crash for larger processing recipes. +- Fixed rare autocrafting crash. +- Fixed some models in inactive state being emissive. +- Fixed Controller item not rendering energy state correctly. +- Fixed duplication bug with the Crafting Grid. +- Fixed fluid duplication bug with the Importer and GregTechCEu machines. +- Attempted to fix issue where Grid doesn't load items and requires a client restart. +- Fixed Crafter Manager slots being able to sort with Inventory Sorter. +- Fixed duplication bug in the Crafter with Inventory Sorter. ## [1.12.3] - 2023-07-07 From 03a83df0dc5965bcfbdccf26d0722fc567348543 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 20:23:49 +0100 Subject: [PATCH 15/16] chore: remove todo --- build.gradle | 6 ++++++ .../com/refinedmods/refinedstorage/setup/ClientSetup.java | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 3635612db3..944a2713f0 100755 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,6 @@ apply from: "https://raw.githubusercontent.com/refinedmods/refinedarchitect/v0.7.1/helper.gradle" +// TODO: remove in 1.21 ext { forgeVersion = "47.1.0" } @@ -45,8 +46,13 @@ dependencies { implementation fg.deobf("top.theillusivec4.curios:curios-forge:5.2.0-beta.3+1.20.1") } +// TODO: remove in 1.21 minecraft { runs { + server { + property 'mixin.env.remapRefMap', 'true' + property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + } client { property 'mixin.env.remapRefMap', 'true' property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" diff --git a/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java b/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java index 52f1f06525..cdfcc22df4 100644 --- a/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java +++ b/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java @@ -142,8 +142,6 @@ private static void registerPatternRenderHandlers() { }); } - // TODO: we have probably too much emissivity (when disconnected) - private static void registerBakedModelOverrides() { BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "cable"), (base, registry) -> new CableCoverBakedModel(base)); BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "exporter"), (base, registry) -> new CableCoverBakedModel(base)); From 5fd70bc0d59d9d42496e8ea5580af3c8314a4869 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sun, 5 Nov 2023 20:23:12 +0000 Subject: [PATCH 16/16] chore: prepare release v1.12.4 --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8894694e4c..cf91a25750 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [1.12.4] - 2023-11-05 + ### Added - Re-added compatibility with Inventory Sorter. @@ -3493,7 +3495,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Internal test release. -[Unreleased]: https://github.com/refinedmods/refinedstorage/compare/v1.12.3...HEAD +[Unreleased]: https://github.com/refinedmods/refinedstorage/compare/v1.12.4...HEAD + +[1.12.4]: https://github.com/refinedmods/refinedstorage/compare/v1.12.3...v1.12.4 [1.12.3]: https://github.com/refinedmods/refinedstorage/compare/v1.12.2...v1.12.3