diff --git a/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java b/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java index 7426b8040..46f50f631 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/ClientSetup.java @@ -34,45 +34,19 @@ public class ClientSetup { new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on"), new ResourceLocation(RS.ID, "block/controller/cutouts/on") )); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "creative_controller"), (base, registry) -> new FullbrightBakedModel( base, new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"), new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on"), new ResourceLocation(RS.ID, "block/controller/cutouts/on") )); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "grid"), (base, registry) -> new FullbrightBakedModel( - base, - new ResourceLocation(RS.ID, "block/grid/cutouts/front_connected") - )); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "crafting_grid"), (base, registry) -> new FullbrightBakedModel( - base, - new ResourceLocation(RS.ID, "block/grid/cutouts/crafting_front_connected") - )); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "pattern_grid"), (base, registry) -> new FullbrightBakedModel( - base, - new ResourceLocation(RS.ID, "block/grid/cutouts/pattern_front_connected") - )); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "fluid_grid"), (base, registry) -> new FullbrightBakedModel( - base, - new ResourceLocation(RS.ID, "block/grid/cutouts/fluid_front_connected") - )); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "network_receiver"), (base, registry) -> new FullbrightBakedModel( - base, - new ResourceLocation(RS.ID, "block/network_receiver/cutouts/connected") - )); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "network_transmitter"), (base, registry) -> new FullbrightBakedModel( - base, - new ResourceLocation(RS.ID, "block/network_transmitter/cutouts/connected") - )); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "pattern"), (base, registry) -> new PatternBakedModel(base)); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "grid"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/grid/cutouts/front_connected"))); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "crafting_grid"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/grid/cutouts/crafting_front_connected"))); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "pattern_grid"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/grid/cutouts/pattern_front_connected"))); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "fluid_grid"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/grid/cutouts/fluid_front_connected"))); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "network_receiver"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/network_receiver/cutouts/connected"))); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "network_transmitter"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/network_transmitter/cutouts/connected"))); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "relay"), (base, registry) -> new FullbrightBakedModel(base, new ResourceLocation(RS.ID, "block/relay/cutouts/connected"))); bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "disk_drive"), (base, registry) -> new FullbrightBakedModel( new DiskDriveBakedModel( @@ -85,6 +59,9 @@ public class ClientSetup { new ResourceLocation(RS.ID, "block/disks/leds") ).disableCache()); + bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "pattern"), (base, registry) -> new PatternBakedModel(base)); + + ModelLoader.addSpecialModel(new ResourceLocation(RS.ID + ":block/disks/disk")); ModelLoader.addSpecialModel(new ResourceLocation(RS.ID + ":block/disks/disk_near_capacity")); ModelLoader.addSpecialModel(new ResourceLocation(RS.ID + ":block/disks/disk_full")); @@ -134,6 +111,7 @@ public class ClientSetup { ScreenManager.registerFactory(RSContainers.IMPORTER, ImporterScreen::new); ScreenManager.registerFactory(RSContainers.EXPORTER, ExporterScreen::new); ScreenManager.registerFactory(RSContainers.NETWORK_TRANSMITTER, NetworkTransmitterScreen::new); + ScreenManager.registerFactory(RSContainers.RELAY, RelayScreen::new); ClientRegistry.registerKeyBinding(RSKeyBindings.FOCUS_SEARCH_BAR); ClientRegistry.registerKeyBinding(RSKeyBindings.CLEAR_GRID_CRAFTING_MATRIX); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RS.java b/src/main/java/com/raoulvdberge/refinedstorage/RS.java index 1a6bfb578..0d7ee80c4 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RS.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RS.java @@ -120,6 +120,7 @@ public final class RS { API.instance().getNetworkNodeRegistry().add(ExporterNetworkNode.ID, (tag, world, pos) -> readAndReturn(tag, new ExporterNetworkNode(world, pos))); API.instance().getNetworkNodeRegistry().add(NetworkReceiverNetworkNode.ID, (tag, world, pos) -> readAndReturn(tag, new NetworkReceiverNetworkNode(world, pos))); API.instance().getNetworkNodeRegistry().add(NetworkTransmitterNetworkNode.ID, (tag, world, pos) -> readAndReturn(tag, new NetworkTransmitterNetworkNode(world, pos))); + API.instance().getNetworkNodeRegistry().add(RelayNetworkNode.ID, (tag, world, pos) -> readAndReturn(tag, new RelayNetworkNode(world, pos))); API.instance().getGridManager().add(GridBlockGridFactory.ID, new GridBlockGridFactory()); @@ -166,6 +167,7 @@ public final class RS { e.getRegistry().register(new ExporterBlock()); e.getRegistry().register(new NetworkReceiverBlock()); e.getRegistry().register(new NetworkTransmitterBlock()); + e.getRegistry().register(new RelayBlock()); } @SubscribeEvent @@ -196,6 +198,7 @@ public final class RS { e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(ExporterTile::new, RSBlocks.EXPORTER).build(null).setRegistryName(RS.ID, "exporter"))); e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(NetworkReceiverTile::new, RSBlocks.NETWORK_RECEIVER).build(null).setRegistryName(RS.ID, "network_receiver"))); e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(NetworkTransmitterTile::new, RSBlocks.NETWORK_TRANSMITTER).build(null).setRegistryName(RS.ID, "network_transmitter"))); + e.getRegistry().register(registerTileDataParameters(TileEntityType.Builder.create(RelayTile::new, RSBlocks.RELAY).build(null).setRegistryName(RS.ID, "relay"))); } private TileEntityType registerTileDataParameters(TileEntityType t) { @@ -218,6 +221,7 @@ public final class RS { e.getRegistry().register(IForgeContainerType.create(new PositionalTileContainerFactory((windowId, inv, tile) -> new ImporterContainer(tile, inv.player, windowId))).setRegistryName(RS.ID, "importer")); e.getRegistry().register(IForgeContainerType.create(new PositionalTileContainerFactory((windowId, inv, tile) -> new ExporterContainer(tile, inv.player, windowId))).setRegistryName(RS.ID, "exporter")); e.getRegistry().register(IForgeContainerType.create(new PositionalTileContainerFactory((windowId, inv, tile) -> new NetworkTransmitterContainer(tile, inv.player, windowId))).setRegistryName(RS.ID, "network_transmitter")); + e.getRegistry().register(IForgeContainerType.create(new PositionalTileContainerFactory((windowId, inv, tile) -> new RelayContainer(tile, inv.player, windowId))).setRegistryName(RS.ID, "relay")); } @SubscribeEvent @@ -290,6 +294,7 @@ public final class RS { e.getRegistry().register(BlockUtils.createBlockItemFor(RSBlocks.EXPORTER)); e.getRegistry().register(BlockUtils.createBlockItemFor(RSBlocks.NETWORK_RECEIVER)); e.getRegistry().register(BlockUtils.createBlockItemFor(RSBlocks.NETWORK_TRANSMITTER)); + e.getRegistry().register(BlockUtils.createBlockItemFor(RSBlocks.RELAY)); } /* TODO diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RSBlocks.java b/src/main/java/com/raoulvdberge/refinedstorage/RSBlocks.java index c98e7c292..df5a19a2d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RSBlocks.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RSBlocks.java @@ -13,7 +13,10 @@ public final class RSBlocks { public static final BlockDetector DETECTOR = new BlockDetector(); public static final BlockDestructor DESTRUCTOR = new BlockDestructor(); public static final BlockConstructor CONSTRUCTOR = new BlockConstructor(); - public static final BlockRelay RELAY = new BlockRelay(); + + @ObjectHolder(RS.ID + ":relay") + public static final RelayBlock RELAY = null; + public static final BlockInterface INTERFACE = new BlockInterface(); public static final BlockCraftingMonitor CRAFTING_MONITOR = new BlockCraftingMonitor(); public static final BlockWirelessTransmitter WIRELESS_TRANSMITTER = new BlockWirelessTransmitter(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RSContainers.java b/src/main/java/com/raoulvdberge/refinedstorage/RSContainers.java index 1e49092d1..246c85001 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/RSContainers.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RSContainers.java @@ -49,8 +49,9 @@ public final class RSContainers { @ObjectHolder(RS.ID + ":network_transmitter") public static final ContainerType NETWORK_TRANSMITTER = null; - //@ObjectHolder(RS.ID + ":relay") + @ObjectHolder(RS.ID + ":relay") public static final ContainerType RELAY = null; + //@ObjectHolder(RS.ID + ":security_manager") public static final ContainerType SECURITY_MANAGER = null; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RSOldConfig.java b/src/main/java/com/raoulvdberge/refinedstorage/RSOldConfig.java index e7b97752b..b69d25267 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/RSOldConfig.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RSOldConfig.java @@ -11,7 +11,6 @@ public class RSOldConfig { public int detectorUsage; public int interfaceUsage; public int fluidInterfaceUsage; - public int relayUsage; public int wirelessTransmitterUsage; public int diskManipulatorUsage; public int securityManagerUsage; @@ -80,7 +79,6 @@ public class RSOldConfig { detectorUsage = config.getInt("detector", ENERGY, 2, 0, Integer.MAX_VALUE, "The energy used by Detectors"); interfaceUsage = config.getInt("interface", ENERGY, 3, 0, Integer.MAX_VALUE, "The energy used by Interfaces"); fluidInterfaceUsage = config.getInt("fluidInterface", ENERGY, 3, 0, Integer.MAX_VALUE, "The energy used by Fluid Interfaces"); - relayUsage = config.getInt("relay", ENERGY, 1, 0, Integer.MAX_VALUE, "The energy used by Relays"); wirelessTransmitterUsage = config.getInt("wirelessTransmitter", ENERGY, 8, 0, Integer.MAX_VALUE, "The energy used by Wireless Transmitters"); diskManipulatorUsage = config.getInt("diskManipulator", ENERGY, 3, 0, Integer.MAX_VALUE, "The energy used by Disk Manipulators"); securityManagerUsage = config.getInt("securityManager", ENERGY, 4, 0, Integer.MAX_VALUE, "The base energy used by Security Managers"); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RSTiles.java b/src/main/java/com/raoulvdberge/refinedstorage/RSTiles.java index 2a5ec06c3..513f988e3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/RSTiles.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RSTiles.java @@ -63,8 +63,9 @@ public class RSTiles { @ObjectHolder(RS.ID + ":network_receiver") public static final TileEntityType NETWORK_RECEIVER = null; - //@ObjectHolder(RS.ID + ":relay") - public static final TileEntityType RELAY = null; + @ObjectHolder(RS.ID + ":relay") + public static final TileEntityType RELAY = null; + //@ObjectHolder(RS.ID + ":security_manager") public static final TileEntityType SECURITY_MANAGER = null; //@ObjectHolder(RS.ID + ":storage_monitor") diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/RelayNetworkNode.java old mode 100755 new mode 100644 similarity index 83% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/RelayNetworkNode.java index 6aa30774d..7df803791 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/RelayNetworkNode.java @@ -9,10 +9,10 @@ import net.minecraft.world.World; import javax.annotation.Nullable; -public class NetworkNodeRelay extends NetworkNode { +public class RelayNetworkNode extends NetworkNode { public static final ResourceLocation ID = new ResourceLocation(RS.ID, "relay"); - public NetworkNodeRelay(World world, BlockPos pos) { + public RelayNetworkNode(World world, BlockPos pos) { super(world, pos); this.redstoneMode = RedstoneMode.LOW; @@ -30,7 +30,7 @@ public class NetworkNodeRelay extends NetworkNode { @Override public int getEnergyUsage() { - return getRedstoneMode() == RedstoneMode.IGNORE ? 0 : RS.INSTANCE.config.relayUsage; + return RS.SERVER_CONFIG.getRelay().getUsage(); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockRelay.java deleted file mode 100755 index efb769bb6..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockRelay.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.raoulvdberge.refinedstorage.block; - -import com.raoulvdberge.refinedstorage.block.info.BlockInfoBuilder; -import com.raoulvdberge.refinedstorage.tile.TileRelay; - -public class BlockRelay extends BlockNode { - public BlockRelay() { - super(BlockInfoBuilder.forId("relay").tileEntity(TileRelay::new).create()); - } - - /* TODO - @Override - @OnlyIn(Dist.CLIENT) - public void registerModels(IModelRegistration modelRegistration) { - modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory")); - - modelRegistration.addBakedModelOverride(info.getId(), base -> new BakedModelFullbright(base, RS.ID + ":blocks/relay/cutouts/connected")); - } - - @Override - public BlockRenderLayer getRenderLayer() { - return BlockRenderLayer.CUTOUT; - } - - @Override - public boolean onBlockActivated(World world, BlockPos pos, BlockState state, PlayerEntity player, EnumHand hand, Direction side, float hitX, float hitY, float hitZ) { - return openNetworkGui(RSGui.RELAY, player, world, pos, side); - }*/ - - @Override - public boolean hasConnectedState() { - return true; - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/RelayBlock.java b/src/main/java/com/raoulvdberge/refinedstorage/block/RelayBlock.java new file mode 100644 index 000000000..f21537b76 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/RelayBlock.java @@ -0,0 +1,64 @@ +package com.raoulvdberge.refinedstorage.block; + +import com.raoulvdberge.refinedstorage.RS; +import com.raoulvdberge.refinedstorage.container.RelayContainer; +import com.raoulvdberge.refinedstorage.container.factory.PositionalTileContainerProvider; +import com.raoulvdberge.refinedstorage.tile.RelayTile; +import com.raoulvdberge.refinedstorage.util.BlockUtils; +import com.raoulvdberge.refinedstorage.util.NetworkUtils; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.BlockRenderLayer; +import net.minecraft.util.Hand; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.text.TranslationTextComponent; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.World; +import net.minecraftforge.fml.network.NetworkHooks; + +import javax.annotation.Nullable; + +public class RelayBlock extends NodeBlock { + public RelayBlock() { + super(BlockUtils.DEFAULT_ROCK_PROPERTIES); + + this.setRegistryName(RS.ID, "relay"); + } + + @Override + public BlockRenderLayer getRenderLayer() { + return BlockRenderLayer.CUTOUT; + } + + @Nullable + @Override + public TileEntity createTileEntity(BlockState state, IBlockReader world) { + return new RelayTile(); + } + + @Override + @SuppressWarnings("deprecation") + public boolean onBlockActivated(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { + if (!world.isRemote) { + return NetworkUtils.attemptModify(world, pos, hit.getFace(), player, () -> NetworkHooks.openGui( + (ServerPlayerEntity) player, + new PositionalTileContainerProvider( + new TranslationTextComponent("gui.refinedstorage.relay"), + (tile, windowId, inventory, p) -> new RelayContainer(tile, player, windowId), + pos + ), + pos + )); + } + + return true; + } + + @Override + public boolean hasConnectedState() { + return true; + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/config/ServerConfig.java b/src/main/java/com/raoulvdberge/refinedstorage/config/ServerConfig.java index 4a54e8986..1096e4355 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/config/ServerConfig.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/config/ServerConfig.java @@ -17,6 +17,7 @@ public class ServerConfig { private Exporter exporter; private NetworkReceiver networkReceiver; private NetworkTransmitter networkTransmitter; + private Relay relay; private Upgrades upgrades; public ServerConfig() { @@ -31,6 +32,7 @@ public class ServerConfig { exporter = new Exporter(); networkReceiver = new NetworkReceiver(); networkTransmitter = new NetworkTransmitter(); + relay = new Relay(); upgrades = new Upgrades(); spec = builder.build(); @@ -84,6 +86,10 @@ public class ServerConfig { return networkTransmitter; } + public Relay getRelay() { + return relay; + } + public ForgeConfigSpec getSpec() { return spec; } @@ -411,4 +417,20 @@ public class ServerConfig { return usage.get(); } } + + public class Relay { + private final ForgeConfigSpec.IntValue usage; + + public Relay() { + builder.push("relay"); + + usage = builder.comment("The energy used by the Relay").defineInRange("usage", 1, 0, Integer.MAX_VALUE); + + builder.pop(); + } + + public int getUsage() { + return usage.get(); + } + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/RelayContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/container/RelayContainer.java index b1ace0697..32cc2dd77 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/RelayContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/RelayContainer.java @@ -1,11 +1,11 @@ package com.raoulvdberge.refinedstorage.container; import com.raoulvdberge.refinedstorage.RSContainers; -import com.raoulvdberge.refinedstorage.tile.TileRelay; +import com.raoulvdberge.refinedstorage.tile.RelayTile; import net.minecraft.entity.player.PlayerEntity; public class RelayContainer extends BaseContainer { - public RelayContainer(TileRelay relay, PlayerEntity player, int windowId) { + public RelayContainer(RelayTile relay, PlayerEntity player, int windowId) { super(RSContainers.RELAY, relay, player, windowId); addPlayerInventory(8, 50); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/GuiRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/RelayScreen.java similarity index 65% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/GuiRelay.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/RelayScreen.java index f2e9eb6eb..2e1f7d013 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/GuiRelay.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/RelayScreen.java @@ -3,18 +3,19 @@ package com.raoulvdberge.refinedstorage.screen; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.container.RelayContainer; import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton; -import com.raoulvdberge.refinedstorage.tile.TileRelay; +import com.raoulvdberge.refinedstorage.tile.RelayTile; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.util.text.ITextComponent; -public class GuiRelay extends BaseScreen { - public GuiRelay(RelayContainer container, PlayerInventory inventory) { - super(container, 176, 131, inventory, null); +public class RelayScreen extends BaseScreen { + public RelayScreen(RelayContainer container, PlayerInventory inventory, ITextComponent title) { + super(container, 176, 131, inventory, title); } @Override public void onPostInit(int x, int y) { - addSideButton(new RedstoneModeSideButton(this, TileRelay.REDSTONE_MODE)); + addSideButton(new RedstoneModeSideButton(this, RelayTile.REDSTONE_MODE)); } @Override @@ -30,7 +31,7 @@ public class GuiRelay extends BaseScreen { @Override public void renderForeground(int mouseX, int mouseY) { - renderString(7, 7, I18n.format("gui.refinedstorage:relay")); + renderString(7, 7, title.getFormattedText()); renderString(7, 39, I18n.format("container.inventory")); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/RelayTile.java old mode 100755 new mode 100644 similarity index 50% rename from src/main/java/com/raoulvdberge/refinedstorage/tile/TileRelay.java rename to src/main/java/com/raoulvdberge/refinedstorage/tile/RelayTile.java index d86072303..c00d17881 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileRelay.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/RelayTile.java @@ -1,20 +1,20 @@ package com.raoulvdberge.refinedstorage.tile; import com.raoulvdberge.refinedstorage.RSTiles; -import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeRelay; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.RelayNetworkNode; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import javax.annotation.Nonnull; -public class TileRelay extends NetworkNodeTile { - public TileRelay() { +public class RelayTile extends NetworkNodeTile { + public RelayTile() { super(RSTiles.RELAY); } @Override @Nonnull - public NetworkNodeRelay createNode(World world, BlockPos pos) { - return new NetworkNodeRelay(world, pos); + public RelayNetworkNode createNode(World world, BlockPos pos) { + return new RelayNetworkNode(world, pos); } } diff --git a/src/main/resources/assets/refinedstorage/blockstates/relay.json b/src/main/resources/assets/refinedstorage/blockstates/relay.json index 3acf95d9a..cfa2ca800 100755 --- a/src/main/resources/assets/refinedstorage/blockstates/relay.json +++ b/src/main/resources/assets/refinedstorage/blockstates/relay.json @@ -1,27 +1,10 @@ { - "forge_marker": 1, - "defaults": { - "model": "refinedstorage:cube_all_cutout", - "textures": { - "particle": "refinedstorage:blocks/relay/relay", - "all": "refinedstorage:blocks/relay/relay", - "cutout": "refinedstorage:blocks/relay/cutouts/disconnected" - } - }, "variants": { - "inventory": [ - { - "transform": "forge:default-block" - } - ], - "connected": { - "true": { - "textures": { - "cutout": "refinedstorage:blocks/relay/cutouts/connected" - } - }, - "false": { - } + "connected=true": { + "model": "refinedstorage:block/relay_connected" + }, + "connected=false": { + "model": "refinedstorage:block/relay_disconnected" } } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/lang/en_us.json b/src/main/resources/assets/refinedstorage/lang/en_us.json index 4fab7cf52..b6f45ef7e 100644 --- a/src/main/resources/assets/refinedstorage/lang/en_us.json +++ b/src/main/resources/assets/refinedstorage/lang/en_us.json @@ -26,7 +26,7 @@ "gui.refinedstorage:detector": "Detector", "gui.refinedstorage:destructor": "Destructor", "gui.refinedstorage:constructor": "Constructor", - "gui.refinedstorage:relay": "Relay", + "gui.refinedstorage.relay": "Relay", "gui.refinedstorage:interface.import": "Interface Import", "gui.refinedstorage:interface.export": "Interface Export", "gui.refinedstorage:crafting_monitor": "Crafting Monitor", @@ -194,7 +194,7 @@ "block.refinedstorage.16k_storage_block": "16k Storage Block", "block.refinedstorage.64k_storage_block": "64k Storage Block", "block.refinedstorage.creative_storage_block": "Creative Storage Block", - "block.refinedstorage:relay": "Relay", + "block.refinedstorage.relay": "Relay", "block.refinedstorage:interface": "Interface", "block.refinedstorage:crafting_monitor": "Crafting Monitor", "block.refinedstorage:wireless_transmitter": "Wireless Transmitter", diff --git a/src/main/resources/assets/refinedstorage/models/block/relay_connected.json b/src/main/resources/assets/refinedstorage/models/block/relay_connected.json new file mode 100644 index 000000000..6ea2bfaed --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/relay_connected.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage:block/cube_all_cutout", + "textures": { + "particle": "refinedstorage:block/relay/relay", + "all": "refinedstorage:block/relay/relay", + "cutout": "refinedstorage:block/relay/cutouts/connected" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/block/relay_disconnected.json b/src/main/resources/assets/refinedstorage/models/block/relay_disconnected.json new file mode 100644 index 000000000..0dbbcf391 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/block/relay_disconnected.json @@ -0,0 +1,8 @@ +{ + "parent": "refinedstorage:block/cube_all_cutout", + "textures": { + "particle": "refinedstorage:block/relay/relay", + "all": "refinedstorage:block/relay/relay", + "cutout": "refinedstorage:block/relay/cutouts/disconnected" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/item/relay.json b/src/main/resources/assets/refinedstorage/models/item/relay.json new file mode 100644 index 000000000..6269090ae --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/item/relay.json @@ -0,0 +1,3 @@ +{ + "parent": "refinedstorage:block/relay_disconnected" +} \ No newline at end of file diff --git a/src/main/resources/data/refinedstorage/loot_tables/blocks/relay.json b/src/main/resources/data/refinedstorage/loot_tables/blocks/relay.json new file mode 100644 index 000000000..adb9dafdd --- /dev/null +++ b/src/main/resources/data/refinedstorage/loot_tables/blocks/relay.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "refinedstorage:relay" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/relay.json b/src/main/resources/data/refinedstorage/recipes/relay.json similarity index 100% rename from src/main/resources/assets/refinedstorage/recipes/relay.json rename to src/main/resources/data/refinedstorage/recipes/relay.json