diff --git a/src/main/java/dan200/computercraft/shared/ComputerCraftRegistry.java b/src/main/java/dan200/computercraft/shared/ComputerCraftRegistry.java index 9696b03c7..9acbbb7b7 100644 --- a/src/main/java/dan200/computercraft/shared/ComputerCraftRegistry.java +++ b/src/main/java/dan200/computercraft/shared/ComputerCraftRegistry.java @@ -3,6 +3,7 @@ * Copyright Daniel Ratcliffe, 2011-2020. Do not distribute without permission. * Send enquiries to dratcliffe@gmail.com */ + package dan200.computercraft.shared; import static net.minecraft.util.registry.Registry.BLOCK_ENTITY_TYPE; @@ -48,7 +49,6 @@ import dan200.computercraft.shared.turtle.inventory.ContainerTurtle; import dan200.computercraft.shared.turtle.items.ItemTurtle; import dan200.computercraft.shared.util.FixedPointTileEntityType; -import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; import net.minecraft.block.Block; import net.minecraft.block.Material; import net.minecraft.block.entity.BlockEntity; @@ -61,13 +61,23 @@ import net.minecraft.item.ItemGroup; import net.minecraft.screen.ScreenHandler; import net.minecraft.screen.ScreenHandlerType; import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; public final class ComputerCraftRegistry { public static final String MOD_ID = ComputerCraft.MOD_ID; public static void init() { - Object[] o = {ModBlocks.CABLE, ModTiles.CABLE, ModItems.CABLE, ModEntities.TURTLE_PLAYER, ModContainers.COMPUTER}; + Object[] o = { + ModBlocks.CABLE, + ModItems.CABLE, + ModEntities.TURTLE_PLAYER, + ModContainers.COMPUTER, + ModTiles.CABLE + }; } + public static final class ModBlocks { private static Block.Settings properties() { return Block.Settings.of(Material.STONE) @@ -84,85 +94,75 @@ public final class ComputerCraftRegistry { .strength(1.5f); } - public static final BlockComputer COMPUTER_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - new Identifier(MOD_ID, "computer_normal"), - new BlockComputer(properties(), ComputerFamily.NORMAL, ModTiles.COMPUTER_NORMAL)); - public static final BlockComputer COMPUTER_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "computer_advanced", - new BlockComputer(properties(), - ComputerFamily.ADVANCED, - ModTiles.COMPUTER_ADVANCED)); + public static final BlockComputer COMPUTER_NORMAL = register("computer_normal", + new BlockComputer(properties(), ComputerFamily.NORMAL, ModTiles.COMPUTER_NORMAL)); + public static final BlockComputer COMPUTER_ADVANCED = register("computer_advanced", + new BlockComputer(properties(), + ComputerFamily.ADVANCED, + ModTiles.COMPUTER_ADVANCED)); - public static final BlockComputer COMPUTER_COMMAND = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "computer_command", - new BlockComputer(Block.Settings.of(Material.STONE) - .strength(-1, 6000000.0F), - ComputerFamily.COMMAND, - ModTiles.COMPUTER_COMMAND)); + public static final BlockComputer COMPUTER_COMMAND = register("computer_command", + new BlockComputer(Block.Settings.of(Material.STONE) + .strength(-1, 6000000.0F), + ComputerFamily.COMMAND, + ModTiles.COMPUTER_COMMAND)); - public static final BlockTurtle TURTLE_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "turtle_normal", - new BlockTurtle(turtleProperties(), ComputerFamily.NORMAL, ModTiles.TURTLE_NORMAL)); - public static final BlockTurtle TURTLE_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "turtle_advanced", - new BlockTurtle(turtleProperties(), - ComputerFamily.ADVANCED, - ModTiles.TURTLE_ADVANCED)); + public static final BlockTurtle TURTLE_NORMAL = register("turtle_normal", + new BlockTurtle(turtleProperties(), ComputerFamily.NORMAL, ModTiles.TURTLE_NORMAL)); + public static final BlockTurtle TURTLE_ADVANCED = register("turtle_advanced", + new BlockTurtle(turtleProperties(), ComputerFamily.ADVANCED, ModTiles.TURTLE_ADVANCED)); - public static final BlockSpeaker SPEAKER = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "speaker", - new BlockSpeaker(properties())); - public static final BlockDiskDrive DISK_DRIVE = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "disk_drive", new BlockDiskDrive(properties())); - public static final BlockPrinter PRINTER = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "printer", new BlockPrinter(properties())); + public static final BlockSpeaker SPEAKER = register("speaker", new BlockSpeaker(properties())); + public static final BlockDiskDrive DISK_DRIVE = register("disk_drive", new BlockDiskDrive(properties())); + public static final BlockPrinter PRINTER = register("printer", new BlockPrinter(properties())); - public static final BlockMonitor MONITOR_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "monitor_normal", - new BlockMonitor(properties(), ModTiles.MONITOR_NORMAL)); - public static final BlockMonitor MONITOR_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "monitor_advanced", - new BlockMonitor(properties(), ModTiles.MONITOR_ADVANCED)); + public static final BlockMonitor MONITOR_NORMAL = register("monitor_normal", new BlockMonitor(properties(), ModTiles.MONITOR_NORMAL)); + public static final BlockMonitor MONITOR_ADVANCED = register("monitor_advanced", new BlockMonitor(properties(), ModTiles.MONITOR_ADVANCED)); - public static final BlockWirelessModem WIRELESS_MODEM_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "wireless_em_normal", - new BlockWirelessModem(properties(), ModTiles.WIRELESS_MODEM_NORMAL)); - public static final BlockWirelessModem WIRELESS_MODEM_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "wireless_em_advanced", - new BlockWirelessModem(properties(), - ModTiles.WIRELESS_MODEM_ADVANCED)); + public static final BlockWirelessModem WIRELESS_MODEM_NORMAL = register("wireless_modem_normal", + new BlockWirelessModem(properties(), ModTiles.WIRELESS_MODEM_NORMAL)); + public static final BlockWirelessModem WIRELESS_MODEM_ADVANCED = register("wireless_modem_advanced", + new BlockWirelessModem(properties(), ModTiles.WIRELESS_MODEM_ADVANCED)); - public static final BlockWiredModemFull WIRED_MODEM_FULL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, - "wired_em_full", - new BlockWiredModemFull(emProperties(), ModTiles.WIRED_MODEM_FULL)); - public static final BlockCable CABLE = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "cable", new BlockCable(emProperties())); + public static final BlockWiredModemFull WIRED_MODEM_FULL = register("wired_modem_full", + new BlockWiredModemFull(emProperties(), ModTiles.WIRED_MODEM_FULL)); + public static final BlockCable CABLE = register("cable", new BlockCable(emProperties())); + + public static T register(String id, T value) { + return Registry.register(Registry.BLOCK, new Identifier(MOD_ID, id), value); + } } public static class ModTiles { - private static BlockEntityType ofBlock(Block block, Function, T> factory) { - return net.minecraft.util.registry.Registry.register(BLOCK_ENTITY_TYPE, net.minecraft.util.registry.Registry.BLOCK.getId(block), FixedPointTileEntityType.create(block, factory)); + private static BlockEntityType ofBlock(Block block, String id, Function, T> factory) { + return Registry.register(BLOCK_ENTITY_TYPE, new Identifier(MOD_ID, id), FixedPointTileEntityType.create(block, factory)); } - public static final BlockEntityType MONITOR_NORMAL = ofBlock(ModBlocks.MONITOR_NORMAL, f -> new TileMonitor(f, false)); - public static final BlockEntityType MONITOR_ADVANCED = ofBlock(ModBlocks.MONITOR_ADVANCED, f -> new TileMonitor(f, true)); + public static final BlockEntityType MONITOR_NORMAL = ofBlock(ModBlocks.MONITOR_NORMAL, "monitor_normal",f -> new TileMonitor(f, false)); + public static final BlockEntityType MONITOR_ADVANCED = ofBlock(ModBlocks.MONITOR_ADVANCED, "monitor_advanced",f -> new TileMonitor(f, true)); - public static final BlockEntityType COMPUTER_NORMAL = ofBlock(ModBlocks.COMPUTER_NORMAL, + public static final BlockEntityType COMPUTER_NORMAL = ofBlock(ModBlocks.COMPUTER_NORMAL,"computer_normal", f -> new TileComputer(ComputerFamily.NORMAL, f)); - public static final BlockEntityType COMPUTER_ADVANCED = ofBlock(ModBlocks.COMPUTER_ADVANCED, + public static final BlockEntityType COMPUTER_ADVANCED = ofBlock(ModBlocks.COMPUTER_ADVANCED,"computer_advanced", f -> new TileComputer(ComputerFamily.ADVANCED, f)); - public static final BlockEntityType COMPUTER_COMMAND = ofBlock(ModBlocks.COMPUTER_COMMAND, + public static final BlockEntityType COMPUTER_COMMAND = ofBlock(ModBlocks.COMPUTER_COMMAND, "computer_command", f -> new TileCommandComputer(ComputerFamily.COMMAND, f)); - public static final BlockEntityType TURTLE_NORMAL = ofBlock(ModBlocks.TURTLE_NORMAL, f -> new TileTurtle(f, ComputerFamily.NORMAL)); - public static final BlockEntityType TURTLE_ADVANCED = ofBlock(ModBlocks.TURTLE_ADVANCED, f -> new TileTurtle(f, ComputerFamily.ADVANCED)); + public static final BlockEntityType TURTLE_NORMAL = ofBlock(ModBlocks.TURTLE_NORMAL, "turtle_normal",f -> new TileTurtle(f, ComputerFamily.NORMAL)); + public static final BlockEntityType TURTLE_ADVANCED = ofBlock(ModBlocks.TURTLE_ADVANCED,"turtle_advanced", + f -> new TileTurtle(f, ComputerFamily.ADVANCED)); - public static final BlockEntityType SPEAKER = ofBlock(ModBlocks.SPEAKER, TileSpeaker::new); - public static final BlockEntityType DISK_DRIVE = ofBlock(ModBlocks.DISK_DRIVE, TileDiskDrive::new); - public static final BlockEntityType PRINTER = ofBlock(ModBlocks.PRINTER, TilePrinter::new); - public static final BlockEntityType WIRED_MODEM_FULL = ofBlock(ModBlocks.WIRED_MODEM_FULL, TileWiredModemFull::new); - public static final BlockEntityType CABLE = ofBlock(ModBlocks.CABLE, TileCable::new); + public static final BlockEntityType SPEAKER = ofBlock(ModBlocks.SPEAKER, "speaker",TileSpeaker::new); + public static final BlockEntityType DISK_DRIVE = ofBlock(ModBlocks.DISK_DRIVE, "disk_drive",TileDiskDrive::new); + public static final BlockEntityType PRINTER = ofBlock(ModBlocks.PRINTER, "printer",TilePrinter::new); + public static final BlockEntityType WIRED_MODEM_FULL = ofBlock(ModBlocks.WIRED_MODEM_FULL,"wired_modem_full", TileWiredModemFull::new); + public static final BlockEntityType CABLE = ofBlock(ModBlocks.CABLE, "cable",TileCable::new); - public static final BlockEntityType WIRELESS_MODEM_NORMAL = ofBlock(ModBlocks.WIRELESS_MODEM_NORMAL, f -> new TileWirelessModem(f, - false)); - public static final BlockEntityType WIRELESS_MODEM_ADVANCED = ofBlock(ModBlocks.WIRELESS_MODEM_ADVANCED, f -> new TileWirelessModem(f, true)); + public static final BlockEntityType WIRELESS_MODEM_NORMAL = ofBlock(ModBlocks.WIRELESS_MODEM_NORMAL,"wireless_modem_normal", + f -> new TileWirelessModem(f, false)); + public static final BlockEntityType WIRELESS_MODEM_ADVANCED = ofBlock(ModBlocks.WIRELESS_MODEM_ADVANCED,"wireless_modem_advanced", + f -> new TileWirelessModem(f, true)); } public static final class ModItems { @@ -173,19 +173,19 @@ public final class ComputerCraftRegistry { } private static I ofBlock(B parent, BiFunction supplier) { - return net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.ITEM, net.minecraft.util.registry.Registry.BLOCK.getId(parent), supplier.apply(parent, properties())); + return Registry.register(Registry.ITEM, Registry.BLOCK.getId(parent), supplier.apply(parent, properties())); } public static final ItemComputer COMPUTER_NORMAL = ofBlock(ModBlocks.COMPUTER_NORMAL, ItemComputer::new); public static final ItemComputer COMPUTER_ADVANCED = ofBlock(ModBlocks.COMPUTER_ADVANCED, ItemComputer::new); public static final ItemComputer COMPUTER_COMMAND = ofBlock(ModBlocks.COMPUTER_COMMAND, ItemComputer::new); + private static T register(String id, T item) { - return net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.ITEM, new Identifier(MOD_ID, id), item); + return Registry.register(Registry.ITEM, new Identifier(MOD_ID, id), item); } public static final ItemPocketComputer POCKET_COMPUTER_NORMAL = register("pocket_computer_normal", - new ItemPocketComputer(properties().maxCount(1), - ComputerFamily.NORMAL)); + new ItemPocketComputer(properties().maxCount(1), ComputerFamily.NORMAL)); public static final ItemPocketComputer POCKET_COMPUTER_ADVANCED = register("pocket_computer_advanced", new ItemPocketComputer(properties().maxCount(1), ComputerFamily.ADVANCED)); @@ -197,8 +197,7 @@ public final class ComputerCraftRegistry { public static final ItemTreasureDisk TREASURE_DISK = register("treasure_disk", new ItemTreasureDisk(properties().maxCount(1))); public static final ItemPrintout PRINTED_PAGE = register("printed_page", new ItemPrintout(properties().maxCount(1), ItemPrintout.Type.PAGE)); - public static final ItemPrintout PRINTED_PAGES = register("printed_pages", - new ItemPrintout(properties().maxCount(1), ItemPrintout.Type.PAGES)); + public static final ItemPrintout PRINTED_PAGES = register("printed_pages", new ItemPrintout(properties().maxCount(1), ItemPrintout.Type.PAGES)); public static final ItemPrintout PRINTED_BOOK = register("printed_book", new ItemPrintout(properties().maxCount(1), ItemPrintout.Type.BOOK)); public static final BlockItem SPEAKER = ofBlock(ModBlocks.SPEAKER, BlockItem::new); @@ -211,26 +210,29 @@ public final class ComputerCraftRegistry { public static final BlockItem WIRED_MODEM_FULL = ofBlock(ModBlocks.WIRED_MODEM_FULL, BlockItem::new); public static final ItemBlockCable.Cable CABLE = register("cable", new ItemBlockCable.Cable(ModBlocks.CABLE, properties())); - public static final ItemBlockCable.WiredModem WIRED_MODEM = register("wired_em", new ItemBlockCable.WiredModem(ModBlocks.CABLE, properties())); + public static final ItemBlockCable.WiredModem WIRED_MODEM = register("wired_modem", new ItemBlockCable.WiredModem(ModBlocks.CABLE, properties())); } public static class ModEntities { - public static final EntityType TURTLE_PLAYER = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.ENTITY_TYPE, new Identifier(MOD_ID, "turtle_player"), EntityType.Builder.create( - SpawnGroup.MISC).disableSaving() - .disableSummon() - .setDimensions( - 0, - 0) - .build( - ComputerCraft.MOD_ID + ":turtle_player")); + public static final EntityType TURTLE_PLAYER = Registry.register(Registry.ENTITY_TYPE, + new Identifier(MOD_ID, "turtle_player"), + EntityType.Builder.create(SpawnGroup.MISC).disableSaving() + .disableSummon() + .setDimensions( + 0, + 0) + .build( + ComputerCraft.MOD_ID + ":turtle_player")); } public static class ModContainers { - private static ScreenHandlerType registerSimple(String id, ScreenHandlerRegistry.SimpleClientHandlerFactory function) { + private static ScreenHandlerType registerSimple(String id, + ScreenHandlerRegistry.SimpleClientHandlerFactory function) { return ScreenHandlerRegistry.registerSimple(new Identifier(MOD_ID, id), function); } - private static ScreenHandlerType registerExtended(String id, ScreenHandlerRegistry.ExtendedClientHandlerFactory function) { + private static ScreenHandlerType registerExtended(String id, + ScreenHandlerRegistry.ExtendedClientHandlerFactory function) { return ScreenHandlerRegistry.registerExtended(new Identifier(MOD_ID, id), function); } @@ -249,4 +251,6 @@ public final class ComputerCraftRegistry { public static final ScreenHandlerType VIEW_COMPUTER = registerExtended("view_computer", ContainerViewComputer::new); } + + } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index c50bbdfe3..afd96ca1c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -27,7 +27,6 @@ "environment": "*", "entrypoints": { "main": [ "dan200.computercraft.ComputerCraft" ], - "modmenu": [ "dan200.computercraft.client.ModMenuIntegration" ], "client": ["dan200.computercraft.client.proxy.ComputerCraftProxyClient"] }, "mixins": [