1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-06-26 07:03:22 +00:00

Rename Registry to ModRegistry

Avoids the conflict with Minecraft's built-in registry class
This commit is contained in:
Jonathan Coates 2022-11-06 17:14:53 +00:00
parent 9cd728fea9
commit 6d665ad841
No known key found for this signature in database
GPG Key ID: B9E431FF07C98D06
42 changed files with 383 additions and 384 deletions

View File

@ -6,7 +6,7 @@
package dan200.computercraft;
import dan200.computercraft.shared.Config;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.peripheral.monitor.MonitorRenderer;
import net.minecraftforge.fml.common.Mod;
import org.slf4j.Logger;
@ -56,6 +56,6 @@ public final class ComputerCraft {
public ComputerCraft() {
Config.setup();
Registry.setup();
ModRegistry.setup();
}
}

View File

@ -14,7 +14,7 @@
import dan200.computercraft.client.render.TileEntityTurtleRenderer;
import dan200.computercraft.client.render.TurtleModelLoader;
import dan200.computercraft.client.turtle.TurtleModemModeller;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.IColouredItem;
import dan200.computercraft.shared.computer.inventory.ContainerComputerBase;
import dan200.computercraft.shared.computer.inventory.ContainerViewComputer;
@ -81,19 +81,19 @@ public static void registerModels(ModelEvent.RegisterAdditional event) {
@SubscribeEvent
public static void onItemColours(RegisterColorHandlersEvent.Item event) {
if (Registry.ModItems.DISK == null || Registry.ModBlocks.TURTLE_NORMAL == null) {
if (ModRegistry.Items.DISK == null || ModRegistry.Blocks.TURTLE_NORMAL == null) {
ComputerCraft.log.warn("Block/item registration has failed. Skipping registration of item colours.");
return;
}
event.register(
(stack, layer) -> layer == 1 ? ((ItemDisk) stack.getItem()).getColour(stack) : 0xFFFFFF,
Registry.ModItems.DISK.get()
ModRegistry.Items.DISK.get()
);
event.register(
(stack, layer) -> layer == 1 ? ItemTreasureDisk.getColour(stack) : 0xFFFFFF,
Registry.ModItems.TREASURE_DISK.get()
ModRegistry.Items.TREASURE_DISK.get()
);
event.register((stack, layer) -> {
@ -108,45 +108,45 @@ public static void onItemColours(RegisterColorHandlersEvent.Item event) {
return light == -1 ? Colour.BLACK.getHex() : light;
}
}
}, Registry.ModItems.POCKET_COMPUTER_NORMAL.get(), Registry.ModItems.POCKET_COMPUTER_ADVANCED.get());
}, ModRegistry.Items.POCKET_COMPUTER_NORMAL.get(), ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get());
// Setup turtle colours
event.register(
(stack, tintIndex) -> tintIndex == 0 ? ((IColouredItem) stack.getItem()).getColour(stack) : 0xFFFFFF,
Registry.ModBlocks.TURTLE_NORMAL.get(), Registry.ModBlocks.TURTLE_ADVANCED.get()
ModRegistry.Blocks.TURTLE_NORMAL.get(), ModRegistry.Blocks.TURTLE_ADVANCED.get()
);
}
@SubscribeEvent
public static void setupClient(FMLClientSetupEvent event) {
// Setup TESRs
BlockEntityRenderers.register(Registry.ModBlockEntities.MONITOR_NORMAL.get(), TileEntityMonitorRenderer::new);
BlockEntityRenderers.register(Registry.ModBlockEntities.MONITOR_ADVANCED.get(), TileEntityMonitorRenderer::new);
BlockEntityRenderers.register(Registry.ModBlockEntities.TURTLE_NORMAL.get(), TileEntityTurtleRenderer::new);
BlockEntityRenderers.register(Registry.ModBlockEntities.TURTLE_ADVANCED.get(), TileEntityTurtleRenderer::new);
BlockEntityRenderers.register(ModRegistry.BlockEntities.MONITOR_NORMAL.get(), TileEntityMonitorRenderer::new);
BlockEntityRenderers.register(ModRegistry.BlockEntities.MONITOR_ADVANCED.get(), TileEntityMonitorRenderer::new);
BlockEntityRenderers.register(ModRegistry.BlockEntities.TURTLE_NORMAL.get(), TileEntityTurtleRenderer::new);
BlockEntityRenderers.register(ModRegistry.BlockEntities.TURTLE_ADVANCED.get(), TileEntityTurtleRenderer::new);
ComputerCraftAPIClient.registerTurtleUpgradeModeller(Registry.ModTurtleSerialisers.SPEAKER.get(), TurtleUpgradeModeller.sided(
ComputerCraftAPIClient.registerTurtleUpgradeModeller(ModRegistry.TurtleSerialisers.SPEAKER.get(), TurtleUpgradeModeller.sided(
new ResourceLocation(ComputerCraft.MOD_ID, "block/turtle_speaker_left"),
new ResourceLocation(ComputerCraft.MOD_ID, "block/turtle_speaker_right")
));
ComputerCraftAPIClient.registerTurtleUpgradeModeller(Registry.ModTurtleSerialisers.WORKBENCH.get(), TurtleUpgradeModeller.sided(
ComputerCraftAPIClient.registerTurtleUpgradeModeller(ModRegistry.TurtleSerialisers.WORKBENCH.get(), TurtleUpgradeModeller.sided(
new ResourceLocation(ComputerCraft.MOD_ID, "block/turtle_crafting_table_left"),
new ResourceLocation(ComputerCraft.MOD_ID, "block/turtle_crafting_table_right")
));
ComputerCraftAPIClient.registerTurtleUpgradeModeller(Registry.ModTurtleSerialisers.WIRELESS_MODEM_NORMAL.get(), new TurtleModemModeller(false));
ComputerCraftAPIClient.registerTurtleUpgradeModeller(Registry.ModTurtleSerialisers.WIRELESS_MODEM_ADVANCED.get(), new TurtleModemModeller(true));
ComputerCraftAPIClient.registerTurtleUpgradeModeller(Registry.ModTurtleSerialisers.TOOL.get(), TurtleUpgradeModeller.flatItem());
ComputerCraftAPIClient.registerTurtleUpgradeModeller(ModRegistry.TurtleSerialisers.WIRELESS_MODEM_NORMAL.get(), new TurtleModemModeller(false));
ComputerCraftAPIClient.registerTurtleUpgradeModeller(ModRegistry.TurtleSerialisers.WIRELESS_MODEM_ADVANCED.get(), new TurtleModemModeller(true));
ComputerCraftAPIClient.registerTurtleUpgradeModeller(ModRegistry.TurtleSerialisers.TOOL.get(), TurtleUpgradeModeller.flatItem());
event.enqueueWork(() -> {
registerContainers();
registerItemProperty("state",
(stack, world, player, random) -> ClientPocketComputers.get(stack).getState().ordinal(),
Registry.ModItems.POCKET_COMPUTER_NORMAL, Registry.ModItems.POCKET_COMPUTER_ADVANCED
ModRegistry.Items.POCKET_COMPUTER_NORMAL, ModRegistry.Items.POCKET_COMPUTER_ADVANCED
);
registerItemProperty("coloured",
(stack, world, player, random) -> IColouredItem.getColourBasic(stack) != -1 ? 1 : 0,
Registry.ModItems.POCKET_COMPUTER_NORMAL, Registry.ModItems.POCKET_COMPUTER_ADVANCED
ModRegistry.Items.POCKET_COMPUTER_NORMAL, ModRegistry.Items.POCKET_COMPUTER_ADVANCED
);
});
}
@ -163,15 +163,15 @@ private static void registerItemProperty(String name, ItemPropertyFunction gette
private static void registerContainers() {
// My IDE doesn't think so, but we do actually need these generics.
MenuScreens.<ContainerComputerBase, GuiComputer<ContainerComputerBase>>register(Registry.ModContainers.COMPUTER.get(), GuiComputer::new);
MenuScreens.<ContainerComputerBase, GuiComputer<ContainerComputerBase>>register(Registry.ModContainers.POCKET_COMPUTER.get(), GuiComputer::new);
MenuScreens.<ContainerComputerBase, NoTermComputerScreen<ContainerComputerBase>>register(Registry.ModContainers.POCKET_COMPUTER_NO_TERM.get(), NoTermComputerScreen::new);
MenuScreens.register(Registry.ModContainers.TURTLE.get(), GuiTurtle::new);
MenuScreens.<ContainerComputerBase, GuiComputer<ContainerComputerBase>>register(ModRegistry.Menus.COMPUTER.get(), GuiComputer::new);
MenuScreens.<ContainerComputerBase, GuiComputer<ContainerComputerBase>>register(ModRegistry.Menus.POCKET_COMPUTER.get(), GuiComputer::new);
MenuScreens.<ContainerComputerBase, NoTermComputerScreen<ContainerComputerBase>>register(ModRegistry.Menus.POCKET_COMPUTER_NO_TERM.get(), NoTermComputerScreen::new);
MenuScreens.register(ModRegistry.Menus.TURTLE.get(), GuiTurtle::new);
MenuScreens.register(Registry.ModContainers.PRINTER.get(), GuiPrinter::new);
MenuScreens.register(Registry.ModContainers.DISK_DRIVE.get(), GuiDiskDrive::new);
MenuScreens.register(Registry.ModContainers.PRINTOUT.get(), GuiPrintout::new);
MenuScreens.register(ModRegistry.Menus.PRINTER.get(), GuiPrinter::new);
MenuScreens.register(ModRegistry.Menus.DISK_DRIVE.get(), GuiDiskDrive::new);
MenuScreens.register(ModRegistry.Menus.PRINTOUT.get(), GuiPrintout::new);
MenuScreens.<ContainerViewComputer, GuiComputer<ContainerViewComputer>>register(Registry.ModContainers.VIEW_COMPUTER.get(), GuiComputer::new);
MenuScreens.<ContainerViewComputer, GuiComputer<ContainerViewComputer>>register(ModRegistry.Menus.VIEW_COMPUTER.get(), GuiComputer::new);
}
}

View File

@ -6,7 +6,7 @@
package dan200.computercraft.client.render;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.peripheral.modem.wired.BlockCable;
import dan200.computercraft.shared.peripheral.modem.wired.CableShapes;
import dan200.computercraft.shared.util.WorldUtil;
@ -38,7 +38,7 @@ public static void drawHighlight(RenderHighlightEvent.Block event) {
var state = world.getBlockState(pos);
// We only care about instances with both cable and modem.
if (state.getBlock() != Registry.ModBlocks.CABLE.get() || state.getValue(BlockCable.MODEM).getFacing() == null || !state.getValue(BlockCable.CABLE)) {
if (state.getBlock() != ModRegistry.Blocks.CABLE.get() || state.getValue(BlockCable.MODEM).getFacing() == null || !state.getValue(BlockCable.CABLE)) {
return;
}

View File

@ -7,7 +7,7 @@
import com.google.gson.JsonObject;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.blocks.BlockComputer;
import dan200.computercraft.shared.peripheral.diskdrive.BlockDiskDrive;
import dan200.computercraft.shared.peripheral.modem.wired.BlockCable;
@ -65,22 +65,22 @@ class BlockModelGenerator {
);
public static void addBlockModels(BlockModelGenerators generators) {
registerComputer(generators, Registry.ModBlocks.COMPUTER_NORMAL.get());
registerComputer(generators, Registry.ModBlocks.COMPUTER_ADVANCED.get());
registerComputer(generators, Registry.ModBlocks.COMPUTER_COMMAND.get());
registerComputer(generators, ModRegistry.Blocks.COMPUTER_NORMAL.get());
registerComputer(generators, ModRegistry.Blocks.COMPUTER_ADVANCED.get());
registerComputer(generators, ModRegistry.Blocks.COMPUTER_COMMAND.get());
registerTurtle(generators, Registry.ModBlocks.TURTLE_NORMAL.get());
registerTurtle(generators, Registry.ModBlocks.TURTLE_ADVANCED.get());
registerTurtle(generators, ModRegistry.Blocks.TURTLE_NORMAL.get());
registerTurtle(generators, ModRegistry.Blocks.TURTLE_ADVANCED.get());
registerWirelessModem(generators, Registry.ModBlocks.WIRELESS_MODEM_NORMAL.get());
registerWirelessModem(generators, Registry.ModBlocks.WIRELESS_MODEM_ADVANCED.get());
registerWirelessModem(generators, ModRegistry.Blocks.WIRELESS_MODEM_NORMAL.get());
registerWirelessModem(generators, ModRegistry.Blocks.WIRELESS_MODEM_ADVANCED.get());
registerWiredModems(generators);
registerMonitor(generators, Registry.ModBlocks.MONITOR_NORMAL.get());
registerMonitor(generators, Registry.ModBlocks.MONITOR_ADVANCED.get());
registerMonitor(generators, ModRegistry.Blocks.MONITOR_NORMAL.get());
registerMonitor(generators, ModRegistry.Blocks.MONITOR_ADVANCED.get());
generators.createHorizontallyRotatedBlock(Registry.ModBlocks.SPEAKER.get(), TexturedModel.ORIENTABLE_ONLY_TOP);
generators.createHorizontallyRotatedBlock(ModRegistry.Blocks.SPEAKER.get(), TexturedModel.ORIENTABLE_ONLY_TOP);
registerDiskDrive(generators);
registerPrinter(generators);
@ -93,7 +93,7 @@ public static void addBlockModels(BlockModelGenerators generators) {
}
private static void registerDiskDrive(BlockModelGenerators generators) {
var diskDrive = Registry.ModBlocks.DISK_DRIVE.get();
var diskDrive = ModRegistry.Blocks.DISK_DRIVE.get();
generators.blockStateOutput.accept(MultiVariantGenerator.multiVariant(diskDrive)
.with(createHorizontalFacingDispatch())
.with(createModelDispatch(BlockDiskDrive.STATE, value -> {
@ -113,7 +113,7 @@ private static void registerDiskDrive(BlockModelGenerators generators) {
}
private static void registerPrinter(BlockModelGenerators generators) {
var printer = Registry.ModBlocks.PRINTER.get();
var printer = ModRegistry.Blocks.PRINTER.get();
generators.blockStateOutput.accept(MultiVariantGenerator.multiVariant(printer)
.with(createHorizontalFacingDispatch())
.with(createModelDispatch(BlockPrinter.TOP, BlockPrinter.BOTTOM, (top, bottom) -> {
@ -177,7 +177,7 @@ private static void registerWirelessModem(BlockModelGenerators generators, Block
}
private static void registerWiredModems(BlockModelGenerators generators) {
var fullBlock = Registry.ModBlocks.WIRED_MODEM_FULL.get();
var fullBlock = ModRegistry.Blocks.WIRED_MODEM_FULL.get();
generators.blockStateOutput.accept(MultiVariantGenerator.multiVariant(fullBlock)
.with(createModelDispatch(BlockWiredModemFull.MODEM_ON, BlockWiredModemFull.PERIPHERAL_ON, (on, peripheral) -> {
var suffix = (on ? "_on" : "_off") + (peripheral ? "_peripheral" : "");
@ -194,7 +194,7 @@ private static void registerWiredModems(BlockModelGenerators generators) {
})));
generators.delegateItemModel(fullBlock, getModelLocation(fullBlock, "_off"));
generators.delegateItemModel(Registry.ModItems.WIRED_MODEM.get(), new ResourceLocation(ComputerCraft.MOD_ID, "block/wired_modem_off"));
generators.delegateItemModel(ModRegistry.Items.WIRED_MODEM.get(), new ResourceLocation(ComputerCraft.MOD_ID, "block/wired_modem_off"));
}
private static ResourceLocation modemModel(BlockModelGenerators generators, ResourceLocation name, ResourceLocation texture) {
@ -246,7 +246,7 @@ private static ResourceLocation monitorModel(BlockModelGenerators generators, Bl
}
private static void registerCable(BlockModelGenerators generators) {
var generator = MultiPartGenerator.multiPart(Registry.ModBlocks.CABLE.get());
var generator = MultiPartGenerator.multiPart(ModRegistry.Blocks.CABLE.get());
// When a cable only has a neighbour in a single direction, we redirect the core to face that direction.
var coreFacing = new ResourceLocation(ComputerCraft.MOD_ID, "block/cable_core_facing");

View File

@ -6,11 +6,10 @@
package dan200.computercraft.data;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.tags.BlockTagsProvider;
import net.minecraft.tags.BlockTags;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.common.data.ExistingFileHelper;
import static dan200.computercraft.api.ComputerCraftTags.Blocks.*;
@ -25,53 +24,53 @@ class BlockTagsGenerator extends BlockTagsProvider {
protected void addTags() {
// Items
tag(COMPUTER).add(
Registry.ModBlocks.COMPUTER_NORMAL.get(),
Registry.ModBlocks.COMPUTER_ADVANCED.get(),
Registry.ModBlocks.COMPUTER_COMMAND.get()
ModRegistry.Blocks.COMPUTER_NORMAL.get(),
ModRegistry.Blocks.COMPUTER_ADVANCED.get(),
ModRegistry.Blocks.COMPUTER_COMMAND.get()
);
tag(TURTLE).add(Registry.ModBlocks.TURTLE_NORMAL.get(), Registry.ModBlocks.TURTLE_ADVANCED.get());
tag(WIRED_MODEM).add(Registry.ModBlocks.CABLE.get(), Registry.ModBlocks.WIRED_MODEM_FULL.get());
tag(MONITOR).add(Registry.ModBlocks.MONITOR_NORMAL.get(), Registry.ModBlocks.MONITOR_ADVANCED.get());
tag(TURTLE).add(ModRegistry.Blocks.TURTLE_NORMAL.get(), ModRegistry.Blocks.TURTLE_ADVANCED.get());
tag(WIRED_MODEM).add(ModRegistry.Blocks.CABLE.get(), ModRegistry.Blocks.WIRED_MODEM_FULL.get());
tag(MONITOR).add(ModRegistry.Blocks.MONITOR_NORMAL.get(), ModRegistry.Blocks.MONITOR_ADVANCED.get());
tag(TURTLE_ALWAYS_BREAKABLE).addTags(BlockTags.LEAVES).add(
Blocks.BAMBOO, Blocks.BAMBOO_SAPLING // Bamboo isn't instabreak for some odd reason.
net.minecraft.world.level.block.Blocks.BAMBOO, net.minecraft.world.level.block.Blocks.BAMBOO_SAPLING // Bamboo isn't instabreak for some odd reason.
);
tag(TURTLE_SHOVEL_BREAKABLE).addTag(BlockTags.MINEABLE_WITH_SHOVEL).add(
Blocks.MELON,
Blocks.PUMPKIN,
Blocks.CARVED_PUMPKIN,
Blocks.JACK_O_LANTERN
net.minecraft.world.level.block.Blocks.MELON,
net.minecraft.world.level.block.Blocks.PUMPKIN,
net.minecraft.world.level.block.Blocks.CARVED_PUMPKIN,
net.minecraft.world.level.block.Blocks.JACK_O_LANTERN
);
tag(TURTLE_HOE_BREAKABLE).addTags(
BlockTags.CROPS,
BlockTags.MINEABLE_WITH_HOE
).add(
Blocks.CACTUS,
Blocks.MELON,
Blocks.PUMPKIN,
Blocks.CARVED_PUMPKIN,
Blocks.JACK_O_LANTERN
net.minecraft.world.level.block.Blocks.CACTUS,
net.minecraft.world.level.block.Blocks.MELON,
net.minecraft.world.level.block.Blocks.PUMPKIN,
net.minecraft.world.level.block.Blocks.CARVED_PUMPKIN,
net.minecraft.world.level.block.Blocks.JACK_O_LANTERN
);
tag(TURTLE_SWORD_BREAKABLE).addTags(BlockTags.WOOL).add(Blocks.COBWEB);
tag(TURTLE_SWORD_BREAKABLE).addTags(BlockTags.WOOL).add(net.minecraft.world.level.block.Blocks.COBWEB);
// Make all blocks aside from command computer mineable.
tag(BlockTags.MINEABLE_WITH_PICKAXE).add(
Registry.ModBlocks.COMPUTER_NORMAL.get(),
Registry.ModBlocks.COMPUTER_ADVANCED.get(),
Registry.ModBlocks.TURTLE_NORMAL.get(),
Registry.ModBlocks.TURTLE_ADVANCED.get(),
Registry.ModBlocks.SPEAKER.get(),
Registry.ModBlocks.DISK_DRIVE.get(),
Registry.ModBlocks.PRINTER.get(),
Registry.ModBlocks.MONITOR_NORMAL.get(),
Registry.ModBlocks.MONITOR_ADVANCED.get(),
Registry.ModBlocks.WIRELESS_MODEM_NORMAL.get(),
Registry.ModBlocks.WIRELESS_MODEM_ADVANCED.get(),
Registry.ModBlocks.WIRED_MODEM_FULL.get(),
Registry.ModBlocks.CABLE.get()
ModRegistry.Blocks.COMPUTER_NORMAL.get(),
ModRegistry.Blocks.COMPUTER_ADVANCED.get(),
ModRegistry.Blocks.TURTLE_NORMAL.get(),
ModRegistry.Blocks.TURTLE_ADVANCED.get(),
ModRegistry.Blocks.SPEAKER.get(),
ModRegistry.Blocks.DISK_DRIVE.get(),
ModRegistry.Blocks.PRINTER.get(),
ModRegistry.Blocks.MONITOR_NORMAL.get(),
ModRegistry.Blocks.MONITOR_ADVANCED.get(),
ModRegistry.Blocks.WIRELESS_MODEM_NORMAL.get(),
ModRegistry.Blocks.WIRELESS_MODEM_ADVANCED.get(),
ModRegistry.Blocks.WIRED_MODEM_FULL.get(),
ModRegistry.Blocks.CABLE.get()
);
}
}

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.data;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@ -14,7 +14,7 @@
public class Generators {
@SubscribeEvent
public static void gather(GatherDataEvent event) {
Registry.registerLoot();
ModRegistry.registerLoot();
var generator = event.getGenerator();
var existingFiles = event.getExistingFileHelper();

View File

@ -6,7 +6,7 @@
package dan200.computercraft.data;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import net.minecraft.data.models.ItemModelGenerators;
import net.minecraft.data.models.model.ModelTemplate;
import net.minecraft.data.models.model.ModelTemplates;
@ -24,16 +24,16 @@ private ItemModelGenerator() {
}
public static void addItemModels(ItemModelGenerators generators) {
registerDisk(generators, Registry.ModItems.DISK.get());
registerDisk(generators, Registry.ModItems.TREASURE_DISK.get());
registerDisk(generators, ModRegistry.Items.DISK.get());
registerDisk(generators, ModRegistry.Items.TREASURE_DISK.get());
registerPocketComputer(generators, getModelLocation(Registry.ModItems.POCKET_COMPUTER_NORMAL.get()), false);
registerPocketComputer(generators, getModelLocation(Registry.ModItems.POCKET_COMPUTER_ADVANCED.get()), false);
registerPocketComputer(generators, getModelLocation(ModRegistry.Items.POCKET_COMPUTER_NORMAL.get()), false);
registerPocketComputer(generators, getModelLocation(ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get()), false);
registerPocketComputer(generators, new ResourceLocation(ComputerCraft.MOD_ID, "item/pocket_computer_colour"), true);
generators.generateFlatItem(Registry.ModItems.PRINTED_BOOK.get(), ModelTemplates.FLAT_ITEM);
generators.generateFlatItem(Registry.ModItems.PRINTED_PAGE.get(), ModelTemplates.FLAT_ITEM);
generators.generateFlatItem(Registry.ModItems.PRINTED_PAGES.get(), ModelTemplates.FLAT_ITEM);
generators.generateFlatItem(ModRegistry.Items.PRINTED_BOOK.get(), ModelTemplates.FLAT_ITEM);
generators.generateFlatItem(ModRegistry.Items.PRINTED_PAGE.get(), ModelTemplates.FLAT_ITEM);
generators.generateFlatItem(ModRegistry.Items.PRINTED_PAGES.get(), ModelTemplates.FLAT_ITEM);
}
private static void registerPocketComputer(ItemModelGenerators generators, ResourceLocation id, boolean off) {

View File

@ -7,7 +7,7 @@
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.ComputerCraftTags.Blocks;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.tags.ItemTagsProvider;
import net.minecraft.tags.ItemTags;
@ -24,13 +24,13 @@ class ItemTagsGenerator extends ItemTagsProvider {
protected void addTags() {
copy(Blocks.COMPUTER, COMPUTER);
copy(Blocks.TURTLE, TURTLE);
tag(WIRED_MODEM).add(Registry.ModItems.WIRED_MODEM.get(), Registry.ModItems.WIRED_MODEM_FULL.get());
tag(WIRED_MODEM).add(ModRegistry.Items.WIRED_MODEM.get(), ModRegistry.Items.WIRED_MODEM_FULL.get());
copy(Blocks.MONITOR, MONITOR);
tag(ItemTags.PIGLIN_LOVED).add(
Registry.ModItems.COMPUTER_ADVANCED.get(), Registry.ModItems.TURTLE_ADVANCED.get(),
Registry.ModItems.WIRELESS_MODEM_ADVANCED.get(), Registry.ModItems.POCKET_COMPUTER_ADVANCED.get(),
Registry.ModItems.MONITOR_ADVANCED.get()
ModRegistry.Items.COMPUTER_ADVANCED.get(), ModRegistry.Items.TURTLE_ADVANCED.get(),
ModRegistry.Items.WIRELESS_MODEM_ADVANCED.get(), ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get(),
ModRegistry.Items.MONITOR_ADVANCED.get()
);
}
}

View File

@ -8,7 +8,7 @@
import com.mojang.datafixers.util.Pair;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.shared.CommonHooks;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.data.BlockNamedEntityLootCondition;
import dan200.computercraft.shared.data.HasComputerIdLootCondition;
import dan200.computercraft.shared.data.PlayerCreativeLootCondition;
@ -62,36 +62,36 @@ protected void validate(Map<ResourceLocation, LootTable> map, @Nonnull Validatio
}
private static void registerBlocks(BiConsumer<ResourceLocation, LootTable.Builder> add) {
namedBlockDrop(add, Registry.ModBlocks.DISK_DRIVE);
selfDrop(add, Registry.ModBlocks.MONITOR_NORMAL);
selfDrop(add, Registry.ModBlocks.MONITOR_ADVANCED);
namedBlockDrop(add, Registry.ModBlocks.PRINTER);
selfDrop(add, Registry.ModBlocks.SPEAKER);
selfDrop(add, Registry.ModBlocks.WIRED_MODEM_FULL);
selfDrop(add, Registry.ModBlocks.WIRELESS_MODEM_NORMAL);
selfDrop(add, Registry.ModBlocks.WIRELESS_MODEM_ADVANCED);
namedBlockDrop(add, ModRegistry.Blocks.DISK_DRIVE);
selfDrop(add, ModRegistry.Blocks.MONITOR_NORMAL);
selfDrop(add, ModRegistry.Blocks.MONITOR_ADVANCED);
namedBlockDrop(add, ModRegistry.Blocks.PRINTER);
selfDrop(add, ModRegistry.Blocks.SPEAKER);
selfDrop(add, ModRegistry.Blocks.WIRED_MODEM_FULL);
selfDrop(add, ModRegistry.Blocks.WIRELESS_MODEM_NORMAL);
selfDrop(add, ModRegistry.Blocks.WIRELESS_MODEM_ADVANCED);
computerDrop(add, Registry.ModBlocks.COMPUTER_NORMAL);
computerDrop(add, Registry.ModBlocks.COMPUTER_ADVANCED);
computerDrop(add, Registry.ModBlocks.COMPUTER_COMMAND);
computerDrop(add, Registry.ModBlocks.TURTLE_NORMAL);
computerDrop(add, Registry.ModBlocks.TURTLE_ADVANCED);
computerDrop(add, ModRegistry.Blocks.COMPUTER_NORMAL);
computerDrop(add, ModRegistry.Blocks.COMPUTER_ADVANCED);
computerDrop(add, ModRegistry.Blocks.COMPUTER_COMMAND);
computerDrop(add, ModRegistry.Blocks.TURTLE_NORMAL);
computerDrop(add, ModRegistry.Blocks.TURTLE_ADVANCED);
add.accept(Registry.ModBlocks.CABLE.get().getLootTable(), LootTable
add.accept(ModRegistry.Blocks.CABLE.get().getLootTable(), LootTable
.lootTable()
.withPool(LootPool.lootPool()
.setRolls(ConstantValue.exactly(1))
.add(LootItem.lootTableItem(Registry.ModItems.CABLE.get()))
.add(LootItem.lootTableItem(ModRegistry.Items.CABLE.get()))
.when(ExplosionCondition.survivesExplosion())
.when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Registry.ModBlocks.CABLE.get())
.when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(ModRegistry.Blocks.CABLE.get())
.setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(BlockCable.CABLE, true))
)
)
.withPool(LootPool.lootPool()
.setRolls(ConstantValue.exactly(1))
.add(LootItem.lootTableItem(Registry.ModItems.WIRED_MODEM.get()))
.add(LootItem.lootTableItem(ModRegistry.Items.WIRED_MODEM.get()))
.when(ExplosionCondition.survivesExplosion())
.when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Registry.ModBlocks.CABLE.get())
.when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(ModRegistry.Blocks.CABLE.get())
.setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(BlockCable.MODEM, CableModemVariant.None))
.invert()
)

View File

@ -14,8 +14,8 @@
import javax.annotation.Nonnull;
import java.util.function.Consumer;
import static dan200.computercraft.shared.Registry.ModItems;
import static dan200.computercraft.shared.Registry.ModPocketUpgradeSerialisers;
import static dan200.computercraft.shared.ModRegistry.Items;
import static dan200.computercraft.shared.ModRegistry.PocketUpgradeSerialisers;
class PocketUpgradeGenerator extends PocketUpgradeDataProvider {
PocketUpgradeGenerator(DataGenerator generator) {
@ -24,9 +24,9 @@ class PocketUpgradeGenerator extends PocketUpgradeDataProvider {
@Override
protected void addUpgrades(@Nonnull Consumer<Upgrade<PocketUpgradeSerialiser<?>>> addUpgrade) {
addUpgrade.accept(simpleWithCustomItem(id("speaker"), ModPocketUpgradeSerialisers.SPEAKER.get(), ModItems.SPEAKER.get()));
simpleWithCustomItem(id("wireless_modem_normal"), ModPocketUpgradeSerialisers.WIRELESS_MODEM_NORMAL.get(), ModItems.WIRELESS_MODEM_NORMAL.get()).add(addUpgrade);
simpleWithCustomItem(id("wireless_modem_advanced"), ModPocketUpgradeSerialisers.WIRELESS_MODEM_ADVANCED.get(), ModItems.WIRELESS_MODEM_ADVANCED.get()).add(addUpgrade);
addUpgrade.accept(simpleWithCustomItem(id("speaker"), PocketUpgradeSerialisers.SPEAKER.get(), Items.SPEAKER.get()));
simpleWithCustomItem(id("wireless_modem_normal"), PocketUpgradeSerialisers.WIRELESS_MODEM_NORMAL.get(), Items.WIRELESS_MODEM_NORMAL.get()).add(addUpgrade);
simpleWithCustomItem(id("wireless_modem_advanced"), PocketUpgradeSerialisers.WIRELESS_MODEM_ADVANCED.get(), Items.WIRELESS_MODEM_ADVANCED.get()).add(addUpgrade);
}
@Nonnull

View File

@ -9,7 +9,7 @@
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.pocket.PocketUpgradeDataProvider;
import dan200.computercraft.api.turtle.TurtleUpgradeDataProvider;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.ColourableRecipe;
import dan200.computercraft.shared.common.IColouredItem;
import dan200.computercraft.shared.computer.core.ComputerFamily;
@ -35,7 +35,6 @@
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.item.crafting.SimpleRecipeSerializer;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.common.Tags;
import net.minecraftforge.registries.ForgeRegistries;
@ -79,12 +78,12 @@ protected void buildCraftingRecipes(@Nonnull Consumer<FinishedRecipe> add) {
private void diskColours(@Nonnull Consumer<FinishedRecipe> add) {
for (var colour : Colour.VALUES) {
ShapelessRecipeBuilder
.shapeless(Registry.ModItems.DISK.get())
.shapeless(ModRegistry.Items.DISK.get())
.requires(Tags.Items.DUSTS_REDSTONE)
.requires(Items.PAPER)
.requires(net.minecraft.world.item.Items.PAPER)
.requires(DyeItem.byColor(ofColour(colour)))
.group("computercraft:disk")
.unlockedBy("has_drive", inventoryChange(Registry.ModBlocks.DISK_DRIVE.get()))
.unlockedBy("has_drive", inventoryChange(ModRegistry.Blocks.DISK_DRIVE.get()))
.save(
RecipeWrapper.wrap(ImpostorShapelessRecipe.SERIALIZER, add)
.withResultTag(x -> x.putInt(IColouredItem.NBT_COLOUR, colour.getHex())),
@ -160,7 +159,7 @@ private void pocketUpgrades(@Nonnull Consumer<FinishedRecipe> add) {
private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
ShapedRecipeBuilder
.shaped(Registry.ModItems.CABLE.get(), 6)
.shaped(ModRegistry.Items.CABLE.get(), 6)
.pattern(" # ")
.pattern("#R#")
.pattern(" # ")
@ -171,7 +170,7 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.COMPUTER_NORMAL.get())
.shaped(ModRegistry.Blocks.COMPUTER_NORMAL.get())
.pattern("###")
.pattern("#R#")
.pattern("#G#")
@ -182,78 +181,78 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.COMPUTER_ADVANCED.get())
.shaped(ModRegistry.Blocks.COMPUTER_ADVANCED.get())
.pattern("###")
.pattern("#R#")
.pattern("#G#")
.define('#', Tags.Items.INGOTS_GOLD)
.define('R', Tags.Items.DUSTS_REDSTONE)
.define('G', Tags.Items.GLASS_PANES)
.unlockedBy("has_components", inventoryChange(Items.REDSTONE, Items.GOLD_INGOT))
.unlockedBy("has_components", inventoryChange(net.minecraft.world.item.Items.REDSTONE, net.minecraft.world.item.Items.GOLD_INGOT))
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModItems.COMPUTER_ADVANCED.get())
.shaped(ModRegistry.Items.COMPUTER_ADVANCED.get())
.pattern("###")
.pattern("#C#")
.pattern("# #")
.define('#', Tags.Items.INGOTS_GOLD)
.define('C', Registry.ModItems.COMPUTER_ADVANCED.get())
.unlockedBy("has_components", inventoryChange(itemPredicate(Registry.ModItems.COMPUTER_NORMAL.get()), itemPredicate(Tags.Items.INGOTS_GOLD)))
.define('C', ModRegistry.Items.COMPUTER_ADVANCED.get())
.unlockedBy("has_components", inventoryChange(itemPredicate(ModRegistry.Items.COMPUTER_NORMAL.get()), itemPredicate(Tags.Items.INGOTS_GOLD)))
.save(
RecipeWrapper.wrap(ComputerUpgradeRecipe.SERIALIZER, add).withExtraData(family(ComputerFamily.ADVANCED)),
new ResourceLocation(ComputerCraft.MOD_ID, "computer_advanced_upgrade")
);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.COMPUTER_COMMAND.get())
.shaped(ModRegistry.Blocks.COMPUTER_COMMAND.get())
.pattern("###")
.pattern("#R#")
.pattern("#G#")
.define('#', Tags.Items.INGOTS_GOLD)
.define('R', Blocks.COMMAND_BLOCK)
.define('R', net.minecraft.world.level.block.Blocks.COMMAND_BLOCK)
.define('G', Tags.Items.GLASS_PANES)
.unlockedBy("has_components", inventoryChange(Blocks.COMMAND_BLOCK))
.unlockedBy("has_components", inventoryChange(net.minecraft.world.level.block.Blocks.COMMAND_BLOCK))
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.TURTLE_NORMAL.get())
.shaped(ModRegistry.Blocks.TURTLE_NORMAL.get())
.pattern("###")
.pattern("#C#")
.pattern("#I#")
.define('#', Tags.Items.INGOTS_IRON)
.define('C', Registry.ModItems.COMPUTER_NORMAL.get())
.define('C', ModRegistry.Items.COMPUTER_NORMAL.get())
.define('I', Tags.Items.CHESTS_WOODEN)
.unlockedBy("has_computer", inventoryChange(Registry.ModItems.COMPUTER_NORMAL.get()))
.unlockedBy("has_computer", inventoryChange(ModRegistry.Items.COMPUTER_NORMAL.get()))
.save(RecipeWrapper.wrap(TurtleRecipe.SERIALIZER, add).withExtraData(family(ComputerFamily.NORMAL)));
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.TURTLE_ADVANCED.get())
.shaped(ModRegistry.Blocks.TURTLE_ADVANCED.get())
.pattern("###")
.pattern("#C#")
.pattern("#I#")
.define('#', Tags.Items.INGOTS_GOLD)
.define('C', Registry.ModItems.COMPUTER_ADVANCED.get())
.define('C', ModRegistry.Items.COMPUTER_ADVANCED.get())
.define('I', Tags.Items.CHESTS_WOODEN)
.unlockedBy("has_computer", inventoryChange(Registry.ModItems.COMPUTER_NORMAL.get()))
.unlockedBy("has_computer", inventoryChange(ModRegistry.Items.COMPUTER_NORMAL.get()))
.save(RecipeWrapper.wrap(TurtleRecipe.SERIALIZER, add).withExtraData(family(ComputerFamily.ADVANCED)));
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.TURTLE_ADVANCED.get())
.shaped(ModRegistry.Blocks.TURTLE_ADVANCED.get())
.pattern("###")
.pattern("#C#")
.pattern(" B ")
.define('#', Tags.Items.INGOTS_GOLD)
.define('C', Registry.ModItems.COMPUTER_ADVANCED.get())
.define('C', ModRegistry.Items.COMPUTER_ADVANCED.get())
.define('B', Tags.Items.STORAGE_BLOCKS_GOLD)
.unlockedBy("has_components", inventoryChange(itemPredicate(Registry.ModItems.TURTLE_NORMAL.get()), itemPredicate(Tags.Items.INGOTS_GOLD)))
.unlockedBy("has_components", inventoryChange(itemPredicate(ModRegistry.Items.TURTLE_NORMAL.get()), itemPredicate(Tags.Items.INGOTS_GOLD)))
.save(
RecipeWrapper.wrap(ComputerUpgradeRecipe.SERIALIZER, add).withExtraData(family(ComputerFamily.ADVANCED)),
new ResourceLocation(ComputerCraft.MOD_ID, "turtle_advanced_upgrade")
);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.DISK_DRIVE.get())
.shaped(ModRegistry.Blocks.DISK_DRIVE.get())
.pattern("###")
.pattern("#R#")
.pattern("#R#")
@ -263,7 +262,7 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.MONITOR_NORMAL.get())
.shaped(ModRegistry.Blocks.MONITOR_NORMAL.get())
.pattern("###")
.pattern("#G#")
.pattern("###")
@ -273,7 +272,7 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.MONITOR_ADVANCED.get(), 4)
.shaped(ModRegistry.Blocks.MONITOR_ADVANCED.get(), 4)
.pattern("###")
.pattern("#G#")
.pattern("###")
@ -283,44 +282,44 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModItems.POCKET_COMPUTER_NORMAL.get())
.shaped(ModRegistry.Items.POCKET_COMPUTER_NORMAL.get())
.pattern("###")
.pattern("#A#")
.pattern("#G#")
.define('#', Tags.Items.STONE)
.define('A', Items.GOLDEN_APPLE)
.define('A', net.minecraft.world.item.Items.GOLDEN_APPLE)
.define('G', Tags.Items.GLASS_PANES)
.unlockedBy("has_computer", inventoryChange(COMPUTER))
.unlockedBy("has_apple", inventoryChange(Items.GOLDEN_APPLE))
.unlockedBy("has_apple", inventoryChange(net.minecraft.world.item.Items.GOLDEN_APPLE))
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModItems.POCKET_COMPUTER_ADVANCED.get())
.shaped(ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get())
.pattern("###")
.pattern("#A#")
.pattern("#G#")
.define('#', Tags.Items.INGOTS_GOLD)
.define('A', Items.GOLDEN_APPLE)
.define('A', net.minecraft.world.item.Items.GOLDEN_APPLE)
.define('G', Tags.Items.GLASS_PANES)
.unlockedBy("has_computer", inventoryChange(COMPUTER))
.unlockedBy("has_apple", inventoryChange(Items.GOLDEN_APPLE))
.unlockedBy("has_apple", inventoryChange(net.minecraft.world.item.Items.GOLDEN_APPLE))
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModItems.POCKET_COMPUTER_ADVANCED.get())
.shaped(ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get())
.pattern("###")
.pattern("#C#")
.pattern("# #")
.define('#', Tags.Items.INGOTS_GOLD)
.define('C', Registry.ModItems.POCKET_COMPUTER_NORMAL.get())
.unlockedBy("has_components", inventoryChange(itemPredicate(Registry.ModItems.POCKET_COMPUTER_NORMAL.get()), itemPredicate(Tags.Items.INGOTS_GOLD)))
.define('C', ModRegistry.Items.POCKET_COMPUTER_NORMAL.get())
.unlockedBy("has_components", inventoryChange(itemPredicate(ModRegistry.Items.POCKET_COMPUTER_NORMAL.get()), itemPredicate(Tags.Items.INGOTS_GOLD)))
.save(
RecipeWrapper.wrap(ComputerUpgradeRecipe.SERIALIZER, add).withExtraData(family(ComputerFamily.ADVANCED)),
new ResourceLocation(ComputerCraft.MOD_ID, "pocket_computer_advanced_upgrade")
);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.PRINTER.get())
.shaped(ModRegistry.Blocks.PRINTER.get())
.pattern("###")
.pattern("#R#")
.pattern("#D#")
@ -331,40 +330,40 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.SPEAKER.get())
.shaped(ModRegistry.Blocks.SPEAKER.get())
.pattern("###")
.pattern("#N#")
.pattern("#R#")
.define('#', Tags.Items.STONE)
.define('N', Blocks.NOTE_BLOCK)
.define('N', net.minecraft.world.level.block.Blocks.NOTE_BLOCK)
.define('R', Tags.Items.DUSTS_REDSTONE)
.unlockedBy("has_computer", inventoryChange(COMPUTER))
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModItems.WIRED_MODEM.get())
.shaped(ModRegistry.Items.WIRED_MODEM.get())
.pattern("###")
.pattern("#R#")
.pattern("###")
.define('#', Tags.Items.STONE)
.define('R', Tags.Items.DUSTS_REDSTONE)
.unlockedBy("has_computer", inventoryChange(COMPUTER))
.unlockedBy("has_cable", inventoryChange(Registry.ModItems.CABLE.get()))
.unlockedBy("has_cable", inventoryChange(ModRegistry.Items.CABLE.get()))
.save(add);
ShapelessRecipeBuilder
.shapeless(Registry.ModBlocks.WIRED_MODEM_FULL.get())
.requires(Registry.ModItems.WIRED_MODEM.get())
.shapeless(ModRegistry.Blocks.WIRED_MODEM_FULL.get())
.requires(ModRegistry.Items.WIRED_MODEM.get())
.unlockedBy("has_modem", inventoryChange(WIRED_MODEM))
.save(add, new ResourceLocation(ComputerCraft.MOD_ID, "wired_modem_full_from"));
ShapelessRecipeBuilder
.shapeless(Registry.ModItems.WIRED_MODEM.get())
.requires(Registry.ModBlocks.WIRED_MODEM_FULL.get())
.shapeless(ModRegistry.Items.WIRED_MODEM.get())
.requires(ModRegistry.Blocks.WIRED_MODEM_FULL.get())
.unlockedBy("has_modem", inventoryChange(WIRED_MODEM))
.save(add, new ResourceLocation(ComputerCraft.MOD_ID, "wired_modem_full_to"));
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.WIRELESS_MODEM_NORMAL.get())
.shaped(ModRegistry.Blocks.WIRELESS_MODEM_NORMAL.get())
.pattern("###")
.pattern("#E#")
.pattern("###")
@ -374,21 +373,21 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
.save(add);
ShapedRecipeBuilder
.shaped(Registry.ModBlocks.WIRELESS_MODEM_ADVANCED.get())
.shaped(ModRegistry.Blocks.WIRELESS_MODEM_ADVANCED.get())
.pattern("###")
.pattern("#E#")
.pattern("###")
.define('#', Tags.Items.INGOTS_GOLD)
.define('E', Items.ENDER_EYE)
.define('E', net.minecraft.world.item.Items.ENDER_EYE)
.unlockedBy("has_computer", inventoryChange(COMPUTER))
.unlockedBy("has_wireless", inventoryChange(Registry.ModBlocks.WIRELESS_MODEM_NORMAL.get()))
.unlockedBy("has_wireless", inventoryChange(ModRegistry.Blocks.WIRELESS_MODEM_NORMAL.get()))
.save(add);
ShapelessRecipeBuilder
.shapeless(Items.PLAYER_HEAD)
.shapeless(net.minecraft.world.item.Items.PLAYER_HEAD)
.requires(Tags.Items.HEADS)
.requires(Registry.ModItems.MONITOR_NORMAL.get())
.unlockedBy("has_monitor", inventoryChange(Registry.ModItems.MONITOR_NORMAL.get()))
.requires(ModRegistry.Items.MONITOR_NORMAL.get())
.unlockedBy("has_monitor", inventoryChange(ModRegistry.Items.MONITOR_NORMAL.get()))
.save(
RecipeWrapper.wrap(RecipeSerializer.SHAPELESS_RECIPE, add)
.withResultTag(playerHead("Cloudhunter", "6d074736-b1e9-4378-a99b-bd8777821c9c")),
@ -396,10 +395,10 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
);
ShapelessRecipeBuilder
.shapeless(Items.PLAYER_HEAD)
.shapeless(net.minecraft.world.item.Items.PLAYER_HEAD)
.requires(Tags.Items.HEADS)
.requires(Registry.ModItems.COMPUTER_ADVANCED.get())
.unlockedBy("has_computer", inventoryChange(Registry.ModItems.COMPUTER_ADVANCED.get()))
.requires(ModRegistry.Items.COMPUTER_ADVANCED.get())
.unlockedBy("has_computer", inventoryChange(ModRegistry.Items.COMPUTER_ADVANCED.get()))
.save(
RecipeWrapper.wrap(RecipeSerializer.SHAPELESS_RECIPE, add)
.withResultTag(playerHead("dan200", "f3c8d69b-0776-4512-8434-d1b2165909eb")),
@ -407,18 +406,18 @@ private void basicRecipes(@Nonnull Consumer<FinishedRecipe> add) {
);
ShapelessRecipeBuilder
.shapeless(Registry.ModItems.PRINTED_PAGES.get())
.requires(Registry.ModItems.PRINTED_PAGE.get(), 2)
.shapeless(ModRegistry.Items.PRINTED_PAGES.get())
.requires(ModRegistry.Items.PRINTED_PAGE.get(), 2)
.requires(Tags.Items.STRING)
.unlockedBy("has_printer", inventoryChange(Registry.ModBlocks.PRINTER.get()))
.unlockedBy("has_printer", inventoryChange(ModRegistry.Blocks.PRINTER.get()))
.save(RecipeWrapper.wrap(ImpostorShapelessRecipe.SERIALIZER, add));
ShapelessRecipeBuilder
.shapeless(Registry.ModItems.PRINTED_BOOK.get())
.shapeless(ModRegistry.Items.PRINTED_BOOK.get())
.requires(Tags.Items.LEATHER)
.requires(Registry.ModItems.PRINTED_PAGE.get(), 1)
.requires(ModRegistry.Items.PRINTED_PAGE.get(), 1)
.requires(Tags.Items.STRING)
.unlockedBy("has_printer", inventoryChange(Registry.ModBlocks.PRINTER.get()))
.unlockedBy("has_printer", inventoryChange(ModRegistry.Blocks.PRINTER.get()))
.save(RecipeWrapper.wrap(ImpostorShapelessRecipe.SERIALIZER, add));
}

View File

@ -11,13 +11,12 @@
import dan200.computercraft.api.turtle.TurtleUpgradeSerialiser;
import net.minecraft.data.DataGenerator;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Items;
import javax.annotation.Nonnull;
import java.util.function.Consumer;
import static dan200.computercraft.shared.Registry.ModItems;
import static dan200.computercraft.shared.Registry.ModTurtleSerialisers;
import static dan200.computercraft.shared.ModRegistry.Items;
import static dan200.computercraft.shared.ModRegistry.TurtleSerialisers;
class TurtleUpgradeGenerator extends TurtleUpgradeDataProvider {
TurtleUpgradeGenerator(DataGenerator generator) {
@ -26,16 +25,16 @@ class TurtleUpgradeGenerator extends TurtleUpgradeDataProvider {
@Override
protected void addUpgrades(@Nonnull Consumer<Upgrade<TurtleUpgradeSerialiser<?>>> addUpgrade) {
simpleWithCustomItem(id("speaker"), ModTurtleSerialisers.SPEAKER.get(), ModItems.SPEAKER.get()).add(addUpgrade);
simpleWithCustomItem(vanilla("crafting_table"), ModTurtleSerialisers.WORKBENCH.get(), Items.CRAFTING_TABLE).add(addUpgrade);
simpleWithCustomItem(id("wireless_modem_normal"), ModTurtleSerialisers.WIRELESS_MODEM_NORMAL.get(), ModItems.WIRELESS_MODEM_NORMAL.get()).add(addUpgrade);
simpleWithCustomItem(id("wireless_modem_advanced"), ModTurtleSerialisers.WIRELESS_MODEM_ADVANCED.get(), ModItems.WIRELESS_MODEM_ADVANCED.get()).add(addUpgrade);
simpleWithCustomItem(id("speaker"), TurtleSerialisers.SPEAKER.get(), Items.SPEAKER.get()).add(addUpgrade);
simpleWithCustomItem(vanilla("crafting_table"), TurtleSerialisers.WORKBENCH.get(), net.minecraft.world.item.Items.CRAFTING_TABLE).add(addUpgrade);
simpleWithCustomItem(id("wireless_modem_normal"), TurtleSerialisers.WIRELESS_MODEM_NORMAL.get(), Items.WIRELESS_MODEM_NORMAL.get()).add(addUpgrade);
simpleWithCustomItem(id("wireless_modem_advanced"), TurtleSerialisers.WIRELESS_MODEM_ADVANCED.get(), Items.WIRELESS_MODEM_ADVANCED.get()).add(addUpgrade);
tool(vanilla("diamond_axe"), Items.DIAMOND_AXE).damageMultiplier(6.0f).add(addUpgrade);
tool(vanilla("diamond_pickaxe"), Items.DIAMOND_PICKAXE).add(addUpgrade);
tool(vanilla("diamond_hoe"), Items.DIAMOND_HOE).breakable(Blocks.TURTLE_HOE_BREAKABLE).add(addUpgrade);
tool(vanilla("diamond_shovel"), Items.DIAMOND_SHOVEL).breakable(Blocks.TURTLE_SHOVEL_BREAKABLE).add(addUpgrade);
tool(vanilla("diamond_sword"), Items.DIAMOND_SWORD).breakable(Blocks.TURTLE_SWORD_BREAKABLE).damageMultiplier(9.0f).add(addUpgrade);
tool(vanilla("diamond_axe"), net.minecraft.world.item.Items.DIAMOND_AXE).damageMultiplier(6.0f).add(addUpgrade);
tool(vanilla("diamond_pickaxe"), net.minecraft.world.item.Items.DIAMOND_PICKAXE).add(addUpgrade);
tool(vanilla("diamond_hoe"), net.minecraft.world.item.Items.DIAMOND_HOE).breakable(Blocks.TURTLE_HOE_BREAKABLE).add(addUpgrade);
tool(vanilla("diamond_shovel"), net.minecraft.world.item.Items.DIAMOND_SHOVEL).breakable(Blocks.TURTLE_SHOVEL_BREAKABLE).add(addUpgrade);
tool(vanilla("diamond_sword"), net.minecraft.world.item.Items.DIAMOND_SWORD).breakable(Blocks.TURTLE_SWORD_BREAKABLE).damageMultiplier(9.0f).add(addUpgrade);
}
@Nonnull

View File

@ -7,7 +7,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.peripheral.modem.wired.BlockCable;
import dan200.computercraft.shared.peripheral.modem.wired.CableModemVariant;
import dan200.computercraft.shared.peripheral.modem.wired.CableShapes;
@ -61,7 +61,7 @@ public void renderBlockDamage(
CallbackInfo info
) {
// Only apply to cables which have both a cable and modem
if (state.getBlock() != Registry.ModBlocks.CABLE.get()
if (state.getBlock() != ModRegistry.Blocks.CABLE.get()
|| !state.getValue(BlockCable.CABLE)
|| state.getValue(BlockCable.MODEM) == CableModemVariant.None
) {

View File

@ -83,6 +83,7 @@
import net.minecraft.commands.synchronization.ArgumentTypeInfo;
import net.minecraft.commands.synchronization.ArgumentTypeInfos;
import net.minecraft.commands.synchronization.SingletonArgumentInfo;
import net.minecraft.core.Registry;
import net.minecraft.core.cauldron.CauldronInteraction;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.inventory.MenuType;
@ -107,14 +108,14 @@
import java.util.function.BiFunction;
@Mod.EventBusSubscriber(modid = ComputerCraft.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public final class Registry {
public final class ModRegistry {
private static final CreativeModeTab mainItemGroup = new CreativeTabMain();
private Registry() {
private ModRegistry() {
}
public static final class ModBlocks {
static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, ComputerCraft.MOD_ID);
public static final class Blocks {
static final DeferredRegister<Block> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCKS, ComputerCraft.MOD_ID);
private static BlockBehaviour.Properties properties() {
return BlockBehaviour.Properties.of(Material.STONE).strength(2);
@ -128,190 +129,190 @@ private static BlockBehaviour.Properties modemProperties() {
return BlockBehaviour.Properties.of(Material.STONE).strength(1.5f);
}
public static final RegistryObject<BlockComputer<TileComputer>> COMPUTER_NORMAL = BLOCKS.register("computer_normal",
() -> new BlockComputer<>(properties(), ComputerFamily.NORMAL, ModBlockEntities.COMPUTER_NORMAL));
public static final RegistryObject<BlockComputer<TileComputer>> COMPUTER_ADVANCED = BLOCKS.register("computer_advanced",
() -> new BlockComputer<>(properties(), ComputerFamily.ADVANCED, ModBlockEntities.COMPUTER_ADVANCED));
public static final RegistryObject<BlockComputer<TileComputer>> COMPUTER_NORMAL = REGISTRY.register("computer_normal",
() -> new BlockComputer<>(properties(), ComputerFamily.NORMAL, BlockEntities.COMPUTER_NORMAL));
public static final RegistryObject<BlockComputer<TileComputer>> COMPUTER_ADVANCED = REGISTRY.register("computer_advanced",
() -> new BlockComputer<>(properties(), ComputerFamily.ADVANCED, BlockEntities.COMPUTER_ADVANCED));
public static final RegistryObject<BlockComputer<TileCommandComputer>> COMPUTER_COMMAND = BLOCKS.register("computer_command", () -> new BlockComputer<>(
public static final RegistryObject<BlockComputer<TileCommandComputer>> COMPUTER_COMMAND = REGISTRY.register("computer_command", () -> new BlockComputer<>(
BlockBehaviour.Properties.of(Material.STONE).strength(-1, 6000000.0F),
ComputerFamily.COMMAND, ModBlockEntities.COMPUTER_COMMAND
ComputerFamily.COMMAND, BlockEntities.COMPUTER_COMMAND
));
public static final RegistryObject<BlockTurtle> TURTLE_NORMAL = BLOCKS.register("turtle_normal",
() -> new BlockTurtle(turtleProperties(), ComputerFamily.NORMAL, ModBlockEntities.TURTLE_NORMAL));
public static final RegistryObject<BlockTurtle> TURTLE_ADVANCED = BLOCKS.register("turtle_advanced",
() -> new BlockTurtle(turtleProperties(), ComputerFamily.ADVANCED, ModBlockEntities.TURTLE_ADVANCED));
public static final RegistryObject<BlockTurtle> TURTLE_NORMAL = REGISTRY.register("turtle_normal",
() -> new BlockTurtle(turtleProperties(), ComputerFamily.NORMAL, BlockEntities.TURTLE_NORMAL));
public static final RegistryObject<BlockTurtle> TURTLE_ADVANCED = REGISTRY.register("turtle_advanced",
() -> new BlockTurtle(turtleProperties(), ComputerFamily.ADVANCED, BlockEntities.TURTLE_ADVANCED));
public static final RegistryObject<BlockSpeaker> SPEAKER = BLOCKS.register("speaker", () -> new BlockSpeaker(properties()));
public static final RegistryObject<BlockDiskDrive> DISK_DRIVE = BLOCKS.register("disk_drive", () -> new BlockDiskDrive(properties()));
public static final RegistryObject<BlockPrinter> PRINTER = BLOCKS.register("printer", () -> new BlockPrinter(properties()));
public static final RegistryObject<BlockSpeaker> SPEAKER = REGISTRY.register("speaker", () -> new BlockSpeaker(properties()));
public static final RegistryObject<BlockDiskDrive> DISK_DRIVE = REGISTRY.register("disk_drive", () -> new BlockDiskDrive(properties()));
public static final RegistryObject<BlockPrinter> PRINTER = REGISTRY.register("printer", () -> new BlockPrinter(properties()));
public static final RegistryObject<BlockMonitor> MONITOR_NORMAL = BLOCKS.register("monitor_normal",
() -> new BlockMonitor(properties(), ModBlockEntities.MONITOR_NORMAL));
public static final RegistryObject<BlockMonitor> MONITOR_ADVANCED = BLOCKS.register("monitor_advanced",
() -> new BlockMonitor(properties(), ModBlockEntities.MONITOR_ADVANCED));
public static final RegistryObject<BlockMonitor> MONITOR_NORMAL = REGISTRY.register("monitor_normal",
() -> new BlockMonitor(properties(), BlockEntities.MONITOR_NORMAL));
public static final RegistryObject<BlockMonitor> MONITOR_ADVANCED = REGISTRY.register("monitor_advanced",
() -> new BlockMonitor(properties(), BlockEntities.MONITOR_ADVANCED));
public static final RegistryObject<BlockWirelessModem> WIRELESS_MODEM_NORMAL = BLOCKS.register("wireless_modem_normal",
() -> new BlockWirelessModem(properties(), ModBlockEntities.WIRELESS_MODEM_NORMAL));
public static final RegistryObject<BlockWirelessModem> WIRELESS_MODEM_ADVANCED = BLOCKS.register("wireless_modem_advanced",
() -> new BlockWirelessModem(properties(), ModBlockEntities.WIRELESS_MODEM_ADVANCED));
public static final RegistryObject<BlockWirelessModem> WIRELESS_MODEM_NORMAL = REGISTRY.register("wireless_modem_normal",
() -> new BlockWirelessModem(properties(), BlockEntities.WIRELESS_MODEM_NORMAL));
public static final RegistryObject<BlockWirelessModem> WIRELESS_MODEM_ADVANCED = REGISTRY.register("wireless_modem_advanced",
() -> new BlockWirelessModem(properties(), BlockEntities.WIRELESS_MODEM_ADVANCED));
public static final RegistryObject<BlockWiredModemFull> WIRED_MODEM_FULL = BLOCKS.register("wired_modem_full",
public static final RegistryObject<BlockWiredModemFull> WIRED_MODEM_FULL = REGISTRY.register("wired_modem_full",
() -> new BlockWiredModemFull(modemProperties()));
public static final RegistryObject<BlockCable> CABLE = BLOCKS.register("cable", () -> new BlockCable(modemProperties()));
public static final RegistryObject<BlockCable> CABLE = REGISTRY.register("cable", () -> new BlockCable(modemProperties()));
}
public static class ModBlockEntities {
static final DeferredRegister<BlockEntityType<?>> TILES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, ComputerCraft.MOD_ID);
public static class BlockEntities {
static final DeferredRegister<BlockEntityType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, ComputerCraft.MOD_ID);
private static <T extends BlockEntity> RegistryObject<BlockEntityType<T>> ofBlock(RegistryObject<? extends Block> block, FixedPointTileEntityType.FixedPointBlockEntitySupplier<T> factory) {
return TILES.register(block.getId().getPath(), () -> FixedPointTileEntityType.create(block, factory));
return REGISTRY.register(block.getId().getPath(), () -> FixedPointTileEntityType.create(block, factory));
}
public static final RegistryObject<BlockEntityType<TileMonitor>> MONITOR_NORMAL =
ofBlock(ModBlocks.MONITOR_NORMAL, (f, p, s) -> new TileMonitor(f, p, s, false));
ofBlock(Blocks.MONITOR_NORMAL, (f, p, s) -> new TileMonitor(f, p, s, false));
public static final RegistryObject<BlockEntityType<TileMonitor>> MONITOR_ADVANCED =
ofBlock(ModBlocks.MONITOR_ADVANCED, (f, p, s) -> new TileMonitor(f, p, s, true));
ofBlock(Blocks.MONITOR_ADVANCED, (f, p, s) -> new TileMonitor(f, p, s, true));
public static final RegistryObject<BlockEntityType<TileComputer>> COMPUTER_NORMAL =
ofBlock(ModBlocks.COMPUTER_NORMAL, (f, p, s) -> new TileComputer(f, p, s, ComputerFamily.NORMAL));
ofBlock(Blocks.COMPUTER_NORMAL, (f, p, s) -> new TileComputer(f, p, s, ComputerFamily.NORMAL));
public static final RegistryObject<BlockEntityType<TileComputer>> COMPUTER_ADVANCED =
ofBlock(ModBlocks.COMPUTER_ADVANCED, (f, p, s) -> new TileComputer(f, p, s, ComputerFamily.ADVANCED));
ofBlock(Blocks.COMPUTER_ADVANCED, (f, p, s) -> new TileComputer(f, p, s, ComputerFamily.ADVANCED));
public static final RegistryObject<BlockEntityType<TileCommandComputer>> COMPUTER_COMMAND =
ofBlock(ModBlocks.COMPUTER_COMMAND, TileCommandComputer::new);
ofBlock(Blocks.COMPUTER_COMMAND, TileCommandComputer::new);
public static final RegistryObject<BlockEntityType<TileTurtle>> TURTLE_NORMAL =
ofBlock(ModBlocks.TURTLE_NORMAL, (f, p, s) -> new TileTurtle(f, p, s, ComputerFamily.NORMAL));
ofBlock(Blocks.TURTLE_NORMAL, (f, p, s) -> new TileTurtle(f, p, s, ComputerFamily.NORMAL));
public static final RegistryObject<BlockEntityType<TileTurtle>> TURTLE_ADVANCED =
ofBlock(ModBlocks.TURTLE_ADVANCED, (f, p, s) -> new TileTurtle(f, p, s, ComputerFamily.ADVANCED));
ofBlock(Blocks.TURTLE_ADVANCED, (f, p, s) -> new TileTurtle(f, p, s, ComputerFamily.ADVANCED));
public static final RegistryObject<BlockEntityType<TileSpeaker>> SPEAKER = ofBlock(ModBlocks.SPEAKER, TileSpeaker::new);
public static final RegistryObject<BlockEntityType<TileDiskDrive>> DISK_DRIVE = ofBlock(ModBlocks.DISK_DRIVE, TileDiskDrive::new);
public static final RegistryObject<BlockEntityType<TilePrinter>> PRINTER = ofBlock(ModBlocks.PRINTER, TilePrinter::new);
public static final RegistryObject<BlockEntityType<TileWiredModemFull>> WIRED_MODEM_FULL = ofBlock(ModBlocks.WIRED_MODEM_FULL, TileWiredModemFull::new);
public static final RegistryObject<BlockEntityType<TileCable>> CABLE = ofBlock(ModBlocks.CABLE, TileCable::new);
public static final RegistryObject<BlockEntityType<TileSpeaker>> SPEAKER = ofBlock(Blocks.SPEAKER, TileSpeaker::new);
public static final RegistryObject<BlockEntityType<TileDiskDrive>> DISK_DRIVE = ofBlock(Blocks.DISK_DRIVE, TileDiskDrive::new);
public static final RegistryObject<BlockEntityType<TilePrinter>> PRINTER = ofBlock(Blocks.PRINTER, TilePrinter::new);
public static final RegistryObject<BlockEntityType<TileWiredModemFull>> WIRED_MODEM_FULL = ofBlock(Blocks.WIRED_MODEM_FULL, TileWiredModemFull::new);
public static final RegistryObject<BlockEntityType<TileCable>> CABLE = ofBlock(Blocks.CABLE, TileCable::new);
public static final RegistryObject<BlockEntityType<TileWirelessModem>> WIRELESS_MODEM_NORMAL =
ofBlock(ModBlocks.WIRELESS_MODEM_NORMAL, (f, p, s) -> new TileWirelessModem(f, p, s, false));
ofBlock(Blocks.WIRELESS_MODEM_NORMAL, (f, p, s) -> new TileWirelessModem(f, p, s, false));
public static final RegistryObject<BlockEntityType<TileWirelessModem>> WIRELESS_MODEM_ADVANCED =
ofBlock(ModBlocks.WIRELESS_MODEM_ADVANCED, (f, p, s) -> new TileWirelessModem(f, p, s, true));
ofBlock(Blocks.WIRELESS_MODEM_ADVANCED, (f, p, s) -> new TileWirelessModem(f, p, s, true));
}
public static final class ModItems {
static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ComputerCraft.MOD_ID);
public static final class Items {
static final DeferredRegister<Item> REGISTRY = DeferredRegister.create(ForgeRegistries.ITEMS, ComputerCraft.MOD_ID);
private static Item.Properties properties() {
return new Item.Properties().tab(mainItemGroup);
}
private static <B extends Block, I extends Item> RegistryObject<I> ofBlock(RegistryObject<B> parent, BiFunction<B, Item.Properties, I> supplier) {
return ITEMS.register(parent.getId().getPath(), () -> supplier.apply(parent.get(), properties()));
return REGISTRY.register(parent.getId().getPath(), () -> supplier.apply(parent.get(), properties()));
}
public static final RegistryObject<ItemComputer> COMPUTER_NORMAL = ofBlock(ModBlocks.COMPUTER_NORMAL, ItemComputer::new);
public static final RegistryObject<ItemComputer> COMPUTER_ADVANCED = ofBlock(ModBlocks.COMPUTER_ADVANCED, ItemComputer::new);
public static final RegistryObject<ItemComputer> COMPUTER_COMMAND = ofBlock(ModBlocks.COMPUTER_COMMAND, ItemComputer::new);
public static final RegistryObject<ItemComputer> COMPUTER_NORMAL = ofBlock(Blocks.COMPUTER_NORMAL, ItemComputer::new);
public static final RegistryObject<ItemComputer> COMPUTER_ADVANCED = ofBlock(Blocks.COMPUTER_ADVANCED, ItemComputer::new);
public static final RegistryObject<ItemComputer> COMPUTER_COMMAND = ofBlock(Blocks.COMPUTER_COMMAND, ItemComputer::new);
public static final RegistryObject<ItemPocketComputer> POCKET_COMPUTER_NORMAL = ITEMS.register("pocket_computer_normal",
public static final RegistryObject<ItemPocketComputer> POCKET_COMPUTER_NORMAL = REGISTRY.register("pocket_computer_normal",
() -> new ItemPocketComputer(properties().stacksTo(1), ComputerFamily.NORMAL));
public static final RegistryObject<ItemPocketComputer> POCKET_COMPUTER_ADVANCED = ITEMS.register("pocket_computer_advanced",
public static final RegistryObject<ItemPocketComputer> POCKET_COMPUTER_ADVANCED = REGISTRY.register("pocket_computer_advanced",
() -> new ItemPocketComputer(properties().stacksTo(1), ComputerFamily.ADVANCED));
public static final RegistryObject<ItemTurtle> TURTLE_NORMAL = ofBlock(ModBlocks.TURTLE_NORMAL, ItemTurtle::new);
public static final RegistryObject<ItemTurtle> TURTLE_ADVANCED = ofBlock(ModBlocks.TURTLE_ADVANCED, ItemTurtle::new);
public static final RegistryObject<ItemTurtle> TURTLE_NORMAL = ofBlock(Blocks.TURTLE_NORMAL, ItemTurtle::new);
public static final RegistryObject<ItemTurtle> TURTLE_ADVANCED = ofBlock(Blocks.TURTLE_ADVANCED, ItemTurtle::new);
public static final RegistryObject<ItemDisk> DISK =
ITEMS.register("disk", () -> new ItemDisk(properties().stacksTo(1)));
REGISTRY.register("disk", () -> new ItemDisk(properties().stacksTo(1)));
public static final RegistryObject<ItemTreasureDisk> TREASURE_DISK =
ITEMS.register("treasure_disk", () -> new ItemTreasureDisk(properties().stacksTo(1)));
REGISTRY.register("treasure_disk", () -> new ItemTreasureDisk(properties().stacksTo(1)));
public static final RegistryObject<ItemPrintout> PRINTED_PAGE = ITEMS.register("printed_page",
public static final RegistryObject<ItemPrintout> PRINTED_PAGE = REGISTRY.register("printed_page",
() -> new ItemPrintout(properties().stacksTo(1), ItemPrintout.Type.PAGE));
public static final RegistryObject<ItemPrintout> PRINTED_PAGES = ITEMS.register("printed_pages",
public static final RegistryObject<ItemPrintout> PRINTED_PAGES = REGISTRY.register("printed_pages",
() -> new ItemPrintout(properties().stacksTo(1), ItemPrintout.Type.PAGES));
public static final RegistryObject<ItemPrintout> PRINTED_BOOK = ITEMS.register("printed_book",
public static final RegistryObject<ItemPrintout> PRINTED_BOOK = REGISTRY.register("printed_book",
() -> new ItemPrintout(properties().stacksTo(1), ItemPrintout.Type.BOOK));
public static final RegistryObject<BlockItem> SPEAKER = ofBlock(ModBlocks.SPEAKER, BlockItem::new);
public static final RegistryObject<BlockItem> DISK_DRIVE = ofBlock(ModBlocks.DISK_DRIVE, BlockItem::new);
public static final RegistryObject<BlockItem> PRINTER = ofBlock(ModBlocks.PRINTER, BlockItem::new);
public static final RegistryObject<BlockItem> MONITOR_NORMAL = ofBlock(ModBlocks.MONITOR_NORMAL, BlockItem::new);
public static final RegistryObject<BlockItem> MONITOR_ADVANCED = ofBlock(ModBlocks.MONITOR_ADVANCED, BlockItem::new);
public static final RegistryObject<BlockItem> WIRELESS_MODEM_NORMAL = ofBlock(ModBlocks.WIRELESS_MODEM_NORMAL, BlockItem::new);
public static final RegistryObject<BlockItem> WIRELESS_MODEM_ADVANCED = ofBlock(ModBlocks.WIRELESS_MODEM_ADVANCED, BlockItem::new);
public static final RegistryObject<BlockItem> WIRED_MODEM_FULL = ofBlock(ModBlocks.WIRED_MODEM_FULL, BlockItem::new);
public static final RegistryObject<BlockItem> SPEAKER = ofBlock(Blocks.SPEAKER, BlockItem::new);
public static final RegistryObject<BlockItem> DISK_DRIVE = ofBlock(Blocks.DISK_DRIVE, BlockItem::new);
public static final RegistryObject<BlockItem> PRINTER = ofBlock(Blocks.PRINTER, BlockItem::new);
public static final RegistryObject<BlockItem> MONITOR_NORMAL = ofBlock(Blocks.MONITOR_NORMAL, BlockItem::new);
public static final RegistryObject<BlockItem> MONITOR_ADVANCED = ofBlock(Blocks.MONITOR_ADVANCED, BlockItem::new);
public static final RegistryObject<BlockItem> WIRELESS_MODEM_NORMAL = ofBlock(Blocks.WIRELESS_MODEM_NORMAL, BlockItem::new);
public static final RegistryObject<BlockItem> WIRELESS_MODEM_ADVANCED = ofBlock(Blocks.WIRELESS_MODEM_ADVANCED, BlockItem::new);
public static final RegistryObject<BlockItem> WIRED_MODEM_FULL = ofBlock(Blocks.WIRED_MODEM_FULL, BlockItem::new);
public static final RegistryObject<ItemBlockCable.Cable> CABLE = ITEMS.register("cable",
() -> new ItemBlockCable.Cable(ModBlocks.CABLE.get(), properties()));
public static final RegistryObject<ItemBlockCable.WiredModem> WIRED_MODEM = ITEMS.register("wired_modem",
() -> new ItemBlockCable.WiredModem(ModBlocks.CABLE.get(), properties()));
public static final RegistryObject<ItemBlockCable.Cable> CABLE = REGISTRY.register("cable",
() -> new ItemBlockCable.Cable(Blocks.CABLE.get(), properties()));
public static final RegistryObject<ItemBlockCable.WiredModem> WIRED_MODEM = REGISTRY.register("wired_modem",
() -> new ItemBlockCable.WiredModem(Blocks.CABLE.get(), properties()));
}
public static class ModTurtleSerialisers {
static final DeferredRegister<TurtleUpgradeSerialiser<?>> SERIALISERS = DeferredRegister.create(TurtleUpgradeSerialiser.REGISTRY_ID.location(), ComputerCraft.MOD_ID);
public static class TurtleSerialisers {
static final DeferredRegister<TurtleUpgradeSerialiser<?>> REGISTRY = DeferredRegister.create(TurtleUpgradeSerialiser.REGISTRY_ID.location(), ComputerCraft.MOD_ID);
public static final RegistryObject<TurtleUpgradeSerialiser<TurtleSpeaker>> SPEAKER =
SERIALISERS.register("speaker", () -> TurtleUpgradeSerialiser.simpleWithCustomItem(TurtleSpeaker::new));
REGISTRY.register("speaker", () -> TurtleUpgradeSerialiser.simpleWithCustomItem(TurtleSpeaker::new));
public static final RegistryObject<TurtleUpgradeSerialiser<TurtleCraftingTable>> WORKBENCH =
SERIALISERS.register("workbench", () -> TurtleUpgradeSerialiser.simpleWithCustomItem(TurtleCraftingTable::new));
REGISTRY.register("workbench", () -> TurtleUpgradeSerialiser.simpleWithCustomItem(TurtleCraftingTable::new));
public static final RegistryObject<TurtleUpgradeSerialiser<TurtleModem>> WIRELESS_MODEM_NORMAL =
SERIALISERS.register("wireless_modem_normal", () -> TurtleUpgradeSerialiser.simpleWithCustomItem((id, item) -> new TurtleModem(id, item, false)));
REGISTRY.register("wireless_modem_normal", () -> TurtleUpgradeSerialiser.simpleWithCustomItem((id, item) -> new TurtleModem(id, item, false)));
public static final RegistryObject<TurtleUpgradeSerialiser<TurtleModem>> WIRELESS_MODEM_ADVANCED =
SERIALISERS.register("wireless_modem_advanced", () -> TurtleUpgradeSerialiser.simpleWithCustomItem((id, item) -> new TurtleModem(id, item, true)));
REGISTRY.register("wireless_modem_advanced", () -> TurtleUpgradeSerialiser.simpleWithCustomItem((id, item) -> new TurtleModem(id, item, true)));
public static final RegistryObject<TurtleUpgradeSerialiser<TurtleTool>> TOOL = SERIALISERS.register("tool", () -> TurtleToolSerialiser.INSTANCE);
public static final RegistryObject<TurtleUpgradeSerialiser<TurtleTool>> TOOL = REGISTRY.register("tool", () -> TurtleToolSerialiser.INSTANCE);
}
public static class ModPocketUpgradeSerialisers {
static final DeferredRegister<PocketUpgradeSerialiser<?>> SERIALISERS = DeferredRegister.create(PocketUpgradeSerialiser.REGISTRY_ID, ComputerCraft.MOD_ID);
public static class PocketUpgradeSerialisers {
static final DeferredRegister<PocketUpgradeSerialiser<?>> REGISTRY = DeferredRegister.create(PocketUpgradeSerialiser.REGISTRY_ID, ComputerCraft.MOD_ID);
public static final RegistryObject<PocketUpgradeSerialiser<PocketSpeaker>> SPEAKER =
SERIALISERS.register("speaker", () -> PocketUpgradeSerialiser.simpleWithCustomItem(PocketSpeaker::new));
REGISTRY.register("speaker", () -> PocketUpgradeSerialiser.simpleWithCustomItem(PocketSpeaker::new));
public static final RegistryObject<PocketUpgradeSerialiser<PocketModem>> WIRELESS_MODEM_NORMAL =
SERIALISERS.register("wireless_modem_normal", () -> PocketUpgradeSerialiser.simpleWithCustomItem((id, item) -> new PocketModem(id, item, false)));
REGISTRY.register("wireless_modem_normal", () -> PocketUpgradeSerialiser.simpleWithCustomItem((id, item) -> new PocketModem(id, item, false)));
public static final RegistryObject<PocketUpgradeSerialiser<PocketModem>> WIRELESS_MODEM_ADVANCED =
SERIALISERS.register("wireless_modem_advanced", () -> PocketUpgradeSerialiser.simpleWithCustomItem((id, item) -> new PocketModem(id, item, true)));
REGISTRY.register("wireless_modem_advanced", () -> PocketUpgradeSerialiser.simpleWithCustomItem((id, item) -> new PocketModem(id, item, true)));
}
public static class ModContainers {
static final DeferredRegister<MenuType<?>> CONTAINERS = DeferredRegister.create(ForgeRegistries.MENU_TYPES, ComputerCraft.MOD_ID);
public static class Menus {
static final DeferredRegister<MenuType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.MENU_TYPES, ComputerCraft.MOD_ID);
public static final RegistryObject<MenuType<ContainerComputerBase>> COMPUTER = CONTAINERS.register("computer",
public static final RegistryObject<MenuType<ContainerComputerBase>> COMPUTER = REGISTRY.register("computer",
() -> ContainerData.toType(ComputerContainerData::new, ComputerMenuWithoutInventory::new));
public static final RegistryObject<MenuType<ContainerComputerBase>> POCKET_COMPUTER = CONTAINERS.register("pocket_computer",
public static final RegistryObject<MenuType<ContainerComputerBase>> POCKET_COMPUTER = REGISTRY.register("pocket_computer",
() -> ContainerData.toType(ComputerContainerData::new, ComputerMenuWithoutInventory::new));
public static final RegistryObject<MenuType<ContainerComputerBase>> POCKET_COMPUTER_NO_TERM = CONTAINERS.register("pocket_computer_no_term",
public static final RegistryObject<MenuType<ContainerComputerBase>> POCKET_COMPUTER_NO_TERM = REGISTRY.register("pocket_computer_no_term",
() -> ContainerData.toType(ComputerContainerData::new, ComputerMenuWithoutInventory::new));
public static final RegistryObject<MenuType<ContainerTurtle>> TURTLE = CONTAINERS.register("turtle",
public static final RegistryObject<MenuType<ContainerTurtle>> TURTLE = REGISTRY.register("turtle",
() -> ContainerData.toType(ComputerContainerData::new, ContainerTurtle::ofMenuData));
public static final RegistryObject<MenuType<ContainerDiskDrive>> DISK_DRIVE = CONTAINERS.register("disk_drive",
public static final RegistryObject<MenuType<ContainerDiskDrive>> DISK_DRIVE = REGISTRY.register("disk_drive",
() -> new MenuType<>(ContainerDiskDrive::new));
public static final RegistryObject<MenuType<ContainerPrinter>> PRINTER = CONTAINERS.register("printer",
public static final RegistryObject<MenuType<ContainerPrinter>> PRINTER = REGISTRY.register("printer",
() -> new MenuType<>(ContainerPrinter::new));
public static final RegistryObject<MenuType<ContainerHeldItem>> PRINTOUT = CONTAINERS.register("printout",
public static final RegistryObject<MenuType<ContainerHeldItem>> PRINTOUT = REGISTRY.register("printout",
() -> ContainerData.toType(HeldItemContainerData::new, ContainerHeldItem::createPrintout));
public static final RegistryObject<MenuType<ContainerViewComputer>> VIEW_COMPUTER = CONTAINERS.register("view_computer",
public static final RegistryObject<MenuType<ContainerViewComputer>> VIEW_COMPUTER = REGISTRY.register("view_computer",
() -> ContainerData.toType(ComputerContainerData::new, ContainerViewComputer::new));
}
static class ModArgumentTypes {
static final DeferredRegister<ArgumentTypeInfo<?, ?>> ARGUMENT_TYPES = DeferredRegister.create(net.minecraft.core.Registry.COMMAND_ARGUMENT_TYPE_REGISTRY, ComputerCraft.MOD_ID);
static class ArgumentTypes {
static final DeferredRegister<ArgumentTypeInfo<?, ?>> REGISTRY = DeferredRegister.create(Registry.COMMAND_ARGUMENT_TYPE_REGISTRY, ComputerCraft.MOD_ID);
@SuppressWarnings("unchecked")
private static <T extends ArgumentType<?>> void registerUnsafe(String name, Class<T> type, ArgumentTypeInfo<?, ?> serializer) {
ARGUMENT_TYPES.register(name, () -> ArgumentTypeInfos.registerByClass(type, (ArgumentTypeInfo<T, ?>) serializer));
REGISTRY.register(name, () -> ArgumentTypeInfos.registerByClass(type, (ArgumentTypeInfo<T, ?>) serializer));
}
private static <T extends ArgumentType<?>> void register(String name, Class<T> type, ArgumentTypeInfo<T, ?> serializer) {
ARGUMENT_TYPES.register(name, () -> ArgumentTypeInfos.registerByClass(type, serializer));
REGISTRY.register(name, () -> ArgumentTypeInfos.registerByClass(type, serializer));
}
private static <T extends ArgumentType<?>> void register(String name, Class<T> type, T instance) {
@ -397,8 +398,8 @@ private static void registerProviders() {
VanillaDetailRegistries.BLOCK_IN_WORLD.addProvider(BlockData::fill);
ForgeDetailRegistries.FLUID_STACK.addProvider(FluidData::fill);
CauldronInteraction.WATER.put(ModItems.TURTLE_NORMAL.get(), ItemTurtle.CAULDRON_INTERACTION);
CauldronInteraction.WATER.put(ModItems.TURTLE_ADVANCED.get(), ItemTurtle.CAULDRON_INTERACTION);
CauldronInteraction.WATER.put(Items.TURTLE_NORMAL.get(), ItemTurtle.CAULDRON_INTERACTION);
CauldronInteraction.WATER.put(Items.TURTLE_ADVANCED.get(), ItemTurtle.CAULDRON_INTERACTION);
}
public static void registerLoot() {
@ -408,20 +409,20 @@ public static void registerLoot() {
}
private static void registerCondition(String name, LootItemConditionType serializer) {
net.minecraft.core.Registry.register(
net.minecraft.core.Registry.LOOT_CONDITION_TYPE,
Registry.register(
Registry.LOOT_CONDITION_TYPE,
new ResourceLocation(ComputerCraft.MOD_ID, name), serializer
);
}
public static void setup() {
var bus = FMLJavaModLoadingContext.get().getModEventBus();
ModBlocks.BLOCKS.register(bus);
ModBlockEntities.TILES.register(bus);
ModItems.ITEMS.register(bus);
ModTurtleSerialisers.SERIALISERS.register(bus);
ModPocketUpgradeSerialisers.SERIALISERS.register(bus);
ModContainers.CONTAINERS.register(bus);
ModArgumentTypes.ARGUMENT_TYPES.register(bus);
Blocks.REGISTRY.register(bus);
BlockEntities.REGISTRY.register(bus);
Items.REGISTRY.register(bus);
TurtleSerialisers.REGISTRY.register(bus);
PocketUpgradeSerialisers.REGISTRY.register(bus);
Menus.REGISTRY.register(bus);
ArgumentTypes.REGISTRY.register(bus);
}
}

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.common;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.network.container.HeldItemContainerData;
import net.minecraft.network.chat.Component;
import net.minecraft.world.InteractionHand;
@ -31,7 +31,7 @@ public ContainerHeldItem(MenuType<? extends ContainerHeldItem> type, int id, Pla
}
public static ContainerHeldItem createPrintout(int id, Inventory inventory, HeldItemContainerData data) {
return new ContainerHeldItem(Registry.ModContainers.PRINTOUT.get(), id, inventory.player, data.getHand());
return new ContainerHeldItem(ModRegistry.Menus.PRINTOUT.get(), id, inventory.player, data.getHand());
}
@Nonnull

View File

@ -8,7 +8,7 @@
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.core.computer.ComputerSide;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import dan200.computercraft.shared.computer.core.ComputerState;
import dan200.computercraft.shared.computer.core.ServerComputer;
@ -78,7 +78,7 @@ protected ComputerSide remapLocalSide(ComputerSide localSide) {
@Nullable
@Override
public AbstractContainerMenu createMenu(int id, @Nonnull Inventory inventory, @Nonnull Player player) {
return new ComputerMenuWithoutInventory(Registry.ModContainers.COMPUTER.get(), id, inventory, this::isUsableByPlayer, createServerComputer(), getFamily());
return new ComputerMenuWithoutInventory(ModRegistry.Menus.COMPUTER.get(), id, inventory, this::isUsableByPlayer, createServerComputer(), getFamily());
}
@Nonnull

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.computer.inventory;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.blocks.TileCommandComputer;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import dan200.computercraft.shared.computer.core.ServerComputer;
@ -18,11 +18,11 @@
public class ContainerViewComputer extends ComputerMenuWithoutInventory {
public ContainerViewComputer(int id, Inventory player, ServerComputer computer) {
super(Registry.ModContainers.VIEW_COMPUTER.get(), id, player, p -> canInteractWith(computer, p), computer, computer.getFamily());
super(ModRegistry.Menus.VIEW_COMPUTER.get(), id, player, p -> canInteractWith(computer, p), computer, computer.getFamily());
}
public ContainerViewComputer(int id, Inventory player, ComputerContainerData data) {
super(Registry.ModContainers.VIEW_COMPUTER.get(), id, player, data);
super(ModRegistry.Menus.VIEW_COMPUTER.get(), id, player, data);
}
private static boolean canInteractWith(@Nonnull ServerComputer computer, @Nonnull Player player) {

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.computer.items;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.blocks.TileComputer;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import net.minecraft.world.item.ItemStack;
@ -24,9 +24,9 @@ public static ItemStack create(TileComputer tile) {
@Nonnull
public static ItemStack create(int id, String label, ComputerFamily family) {
return switch (family) {
case NORMAL -> Registry.ModItems.COMPUTER_NORMAL.get().create(id, label);
case ADVANCED -> Registry.ModItems.COMPUTER_ADVANCED.get().create(id, label);
case COMMAND -> Registry.ModItems.COMPUTER_COMMAND.get().create(id, label);
case NORMAL -> ModRegistry.Items.COMPUTER_NORMAL.get().create(id, label);
case ADVANCED -> ModRegistry.Items.COMPUTER_ADVANCED.get().create(id, label);
case COMMAND -> ModRegistry.Items.COMPUTER_COMMAND.get().create(id, label);
};
}
}

View File

@ -7,7 +7,7 @@
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.api.turtle.TurtleSide;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.integration.RecipeModHelpers;
import dan200.computercraft.shared.media.items.ItemDisk;
import dan200.computercraft.shared.pocket.items.ItemPocketComputer;
@ -36,13 +36,13 @@ public ResourceLocation getPluginUid() {
@Override
public void registerItemSubtypes(ISubtypeRegistration subtypeRegistry) {
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, Registry.ModItems.TURTLE_NORMAL.get(), turtleSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, Registry.ModItems.TURTLE_ADVANCED.get(), turtleSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, ModRegistry.Items.TURTLE_NORMAL.get(), turtleSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, ModRegistry.Items.TURTLE_ADVANCED.get(), turtleSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, Registry.ModItems.POCKET_COMPUTER_NORMAL.get(), pocketSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, Registry.ModItems.POCKET_COMPUTER_ADVANCED.get(), pocketSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, ModRegistry.Items.POCKET_COMPUTER_NORMAL.get(), pocketSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get(), pocketSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, Registry.ModItems.DISK.get(), diskSubtype);
subtypeRegistry.registerSubtypeInterpreter(VanillaTypes.ITEM_STACK, ModRegistry.Items.DISK.get(), diskSubtype);
}
@Override

View File

@ -9,7 +9,7 @@
import dan200.computercraft.api.ComputerCraftAPI;
import dan200.computercraft.api.filesystem.IMount;
import dan200.computercraft.api.media.IMedia;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.IColouredItem;
import dan200.computercraft.core.util.Colour;
import net.minecraft.ChatFormatting;
@ -37,9 +37,9 @@ public ItemDisk(Properties settings) {
@Nonnull
public static ItemStack createFromIDAndColour(int id, String label, int colour) {
var stack = new ItemStack(Registry.ModItems.DISK.get());
var stack = new ItemStack(ModRegistry.Items.DISK.get());
setDiskID(stack, id);
Registry.ModItems.DISK.get().setLabel(stack, label);
ModRegistry.Items.DISK.get().setLabel(stack, label);
IColouredItem.setColourBasic(stack, colour);
return stack;
}

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.media.items;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.ContainerHeldItem;
import dan200.computercraft.shared.network.container.HeldItemContainerData;
import net.minecraft.network.chat.Component;
@ -55,7 +55,7 @@ public void appendHoverText(@Nonnull ItemStack stack, Level world, @Nonnull List
public InteractionResultHolder<ItemStack> use(Level world, @Nonnull Player player, @Nonnull InteractionHand hand) {
if (!world.isClientSide) {
new HeldItemContainerData(hand)
.open(player, new ContainerHeldItem.Factory(Registry.ModContainers.PRINTOUT.get(), player.getItemInHand(hand), hand));
.open(player, new ContainerHeldItem.Factory(ModRegistry.Menus.PRINTOUT.get(), player.getItemInHand(hand), hand));
}
return new InteractionResultHolder<>(InteractionResult.SUCCESS, player.getItemInHand(hand));
}
@ -86,17 +86,17 @@ private ItemStack createFromTitleAndText(String title, String[] text, String[] c
@Nonnull
public static ItemStack createSingleFromTitleAndText(String title, String[] text, String[] colours) {
return Registry.ModItems.PRINTED_PAGE.get().createFromTitleAndText(title, text, colours);
return ModRegistry.Items.PRINTED_PAGE.get().createFromTitleAndText(title, text, colours);
}
@Nonnull
public static ItemStack createMultipleFromTitleAndText(String title, String[] text, String[] colours) {
return Registry.ModItems.PRINTED_PAGES.get().createFromTitleAndText(title, text, colours);
return ModRegistry.Items.PRINTED_PAGES.get().createFromTitleAndText(title, text, colours);
}
@Nonnull
public static ItemStack createBookFromTitleAndText(String title, String[] text, String[] colours) {
return Registry.ModItems.PRINTED_BOOK.get().createFromTitleAndText(title, text, colours);
return ModRegistry.Items.PRINTED_BOOK.get().createFromTitleAndText(title, text, colours);
}
public Type getType() {

View File

@ -9,7 +9,7 @@
import dan200.computercraft.api.filesystem.IMount;
import dan200.computercraft.api.media.IMedia;
import dan200.computercraft.core.filesystem.SubMount;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.core.util.Colour;
import net.minecraft.core.BlockPos;
import net.minecraft.core.NonNullList;
@ -76,7 +76,7 @@ public IMount createDataMount(@Nonnull ItemStack stack, @Nonnull Level world) {
}
public static ItemStack create(String subPath, int colourIndex) {
var result = new ItemStack(Registry.ModItems.TREASURE_DISK.get());
var result = new ItemStack(ModRegistry.Items.TREASURE_DISK.get());
var nbt = result.getOrCreateTag();
nbt.putString(NBT_SUB_PATH, subPath);

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.peripheral.diskdrive;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.BlockGeneric;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@ -39,7 +39,7 @@ public class BlockDiskDrive extends BlockGeneric {
private static final BlockEntityTicker<TileDiskDrive> serverTicker = (level, pos, state, drive) -> drive.serverTick();
public BlockDiskDrive(Properties settings) {
super(settings, Registry.ModBlockEntities.DISK_DRIVE);
super(settings, ModRegistry.BlockEntities.DISK_DRIVE);
registerDefaultState(getStateDefinition().any()
.setValue(FACING, Direction.NORTH)
.setValue(STATE, DiskDriveState.EMPTY));
@ -95,6 +95,6 @@ public void setPlacedBy(@Nonnull Level world, @Nonnull BlockPos pos, @Nonnull Bl
@Override
@Nullable
public <U extends BlockEntity> BlockEntityTicker<U> getTicker(@Nonnull Level level, @Nonnull BlockState state, @Nonnull BlockEntityType<U> type) {
return level.isClientSide ? null : BaseEntityBlock.createTickerHelper(type, Registry.ModBlockEntities.DISK_DRIVE.get(), serverTicker);
return level.isClientSide ? null : BaseEntityBlock.createTickerHelper(type, ModRegistry.BlockEntities.DISK_DRIVE.get(), serverTicker);
}
}

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.peripheral.diskdrive;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import net.minecraft.world.Container;
import net.minecraft.world.SimpleContainer;
import net.minecraft.world.entity.player.Inventory;
@ -20,7 +20,7 @@ public class ContainerDiskDrive extends AbstractContainerMenu {
private final Container inventory;
public ContainerDiskDrive(int id, Inventory player, Container inventory) {
super(Registry.ModContainers.DISK_DRIVE.get(), id);
super(ModRegistry.Menus.DISK_DRIVE.get(), id);
this.inventory = inventory;

View File

@ -7,7 +7,7 @@
import com.google.common.collect.ImmutableMap;
import dan200.computercraft.api.ForgeComputerCraftAPI;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.BlockGeneric;
import dan200.computercraft.shared.util.WaterloggableHelpers;
import dan200.computercraft.shared.util.WorldUtil;
@ -55,7 +55,7 @@ public class BlockCable extends BlockGeneric implements SimpleWaterloggedBlock {
.build());
public BlockCable(Properties settings) {
super(settings, Registry.ModBlockEntities.CABLE);
super(settings, ModRegistry.BlockEntities.CABLE);
registerDefaultState(getStateDefinition().any()
.setValue(MODEM, CableModemVariant.None)
@ -105,10 +105,10 @@ public boolean onDestroyedByPlayer(BlockState state, Level world, BlockPos pos,
if (WorldUtil.isVecInside(CableShapes.getModemShape(state), hit.getLocation().subtract(pos.getX(), pos.getY(), pos.getZ()))) {
newState = state.setValue(MODEM, CableModemVariant.None);
item = new ItemStack(Registry.ModItems.WIRED_MODEM.get());
item = new ItemStack(ModRegistry.Items.WIRED_MODEM.get());
} else {
newState = state.setValue(CABLE, false);
item = new ItemStack(Registry.ModItems.CABLE.get());
item = new ItemStack(ModRegistry.Items.CABLE.get());
}
world.setBlock(pos, correctConnections(world, pos, newState), 3);
@ -134,13 +134,13 @@ public ItemStack getCloneItemStack(BlockState state, HitResult hit, BlockGetter
boolean cable = state.getValue(CABLE);
// If we've only got one, just use that.
if (!cable) return new ItemStack(Registry.ModItems.WIRED_MODEM.get());
if (modem == null) return new ItemStack(Registry.ModItems.CABLE.get());
if (!cable) return new ItemStack(ModRegistry.Items.WIRED_MODEM.get());
if (modem == null) return new ItemStack(ModRegistry.Items.CABLE.get());
// We've a modem and cable, so try to work out which one we're interacting with
return hit != null && WorldUtil.isVecInside(CableShapes.getModemShape(state), hit.getLocation().subtract(pos.getX(), pos.getY(), pos.getZ()))
? new ItemStack(Registry.ModItems.WIRED_MODEM.get())
: new ItemStack(Registry.ModItems.CABLE.get());
? new ItemStack(ModRegistry.Items.WIRED_MODEM.get())
: new ItemStack(ModRegistry.Items.CABLE.get());
}

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.peripheral.modem.wired;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.BlockGeneric;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
@ -17,7 +17,7 @@ public class BlockWiredModemFull extends BlockGeneric {
public static final BooleanProperty PERIPHERAL_ON = BooleanProperty.create("peripheral");
public BlockWiredModemFull(Properties settings) {
super(settings, Registry.ModBlockEntities.WIRED_MODEM_FULL);
super(settings, ModRegistry.BlockEntities.WIRED_MODEM_FULL);
registerDefaultState(getStateDefinition().any()
.setValue(MODEM_ON, false)
.setValue(PERIPHERAL_ON, false)

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.peripheral.modem.wired;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import net.minecraft.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.NonNullList;
@ -82,7 +82,7 @@ public InteractionResult place(BlockPlaceContext context) {
var existingState = world.getBlockState(pos);
// Try to add a modem to a cable
if (existingState.getBlock() == Registry.ModBlocks.CABLE.get() && existingState.getValue(MODEM) == CableModemVariant.None) {
if (existingState.getBlock() == ModRegistry.Blocks.CABLE.get() && existingState.getValue(MODEM) == CableModemVariant.None) {
var side = context.getClickedFace().getOpposite();
var newState = existingState
.setValue(MODEM, CableModemVariant.from(side))
@ -114,7 +114,7 @@ public InteractionResult place(BlockPlaceContext context) {
// Try to add a cable to a modem inside the block we're clicking on.
var insidePos = pos.relative(context.getClickedFace().getOpposite());
var insideState = world.getBlockState(insidePos);
if (insideState.getBlock() == Registry.ModBlocks.CABLE.get() && !insideState.getValue(BlockCable.CABLE)
if (insideState.getBlock() == ModRegistry.Blocks.CABLE.get() && !insideState.getValue(BlockCable.CABLE)
&& placeAtCorrected(world, insidePos, insideState.setValue(BlockCable.CABLE, true))) {
stack.shrink(1);
return InteractionResult.SUCCESS;
@ -122,7 +122,7 @@ && placeAtCorrected(world, insidePos, insideState.setValue(BlockCable.CABLE, tru
// Try to add a cable to a modem adjacent to this block
var existingState = world.getBlockState(pos);
if (existingState.getBlock() == Registry.ModBlocks.CABLE.get() && !existingState.getValue(BlockCable.CABLE)
if (existingState.getBlock() == ModRegistry.Blocks.CABLE.get() && !existingState.getValue(BlockCable.CABLE)
&& placeAtCorrected(world, pos, existingState.setValue(BlockCable.CABLE, true))) {
stack.shrink(1);
return InteractionResult.SUCCESS;

View File

@ -10,7 +10,7 @@
import dan200.computercraft.api.network.wired.IWiredElement;
import dan200.computercraft.api.network.wired.IWiredNode;
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.command.text.ChatHelpers;
import dan200.computercraft.shared.common.TileGeneric;
import dan200.computercraft.shared.peripheral.modem.ModemState;
@ -181,13 +181,13 @@ public void onNeighbourChange(@Nonnull BlockPos neighbour) {
if (neighbour.equals(getBlockPos().relative(dir)) && hasModem() && !getBlockState().canSurvive(getLevel(), getBlockPos())) {
if (hasCable()) {
// Drop the modem and convert to cable
Block.popResource(getLevel(), getBlockPos(), new ItemStack(Registry.ModItems.WIRED_MODEM.get()));
Block.popResource(getLevel(), getBlockPos(), new ItemStack(ModRegistry.Items.WIRED_MODEM.get()));
getLevel().setBlockAndUpdate(getBlockPos(), getBlockState().setValue(BlockCable.MODEM, CableModemVariant.None));
modemChanged();
connectionsChanged();
} else {
// Drop everything and remove block
Block.popResource(getLevel(), getBlockPos(), new ItemStack(Registry.ModItems.WIRED_MODEM.get()));
Block.popResource(getLevel(), getBlockPos(), new ItemStack(ModRegistry.Items.WIRED_MODEM.get()));
getLevel().removeBlock(getBlockPos(), false);
// This'll call #destroy(), so we don't need to reset the network here.
}

View File

@ -7,7 +7,7 @@
import dan200.computercraft.api.peripheral.IPeripheral;
import dan200.computercraft.shared.Peripherals;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.core.ServerContext;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@ -124,7 +124,7 @@ private IPeripheral getPeripheralFrom(Level world, BlockPos pos, Direction direc
var offset = pos.relative(direction);
var block = world.getBlockState(offset).getBlock();
if (block == Registry.ModBlocks.WIRED_MODEM_FULL.get() || block == Registry.ModBlocks.CABLE.get()) return null;
if (block == ModRegistry.Blocks.WIRED_MODEM_FULL.get() || block == ModRegistry.Blocks.CABLE.get()) return null;
var peripheral = Peripherals.getPeripheral(world, offset, direction.getOpposite(), invalidate);
return peripheral instanceof WiredModemPeripheral ? null : peripheral;

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.peripheral.printer;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.BlockGeneric;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@ -35,7 +35,7 @@ public class BlockPrinter extends BlockGeneric {
public static final BooleanProperty BOTTOM = BooleanProperty.create("bottom");
public BlockPrinter(Properties settings) {
super(settings, Registry.ModBlockEntities.PRINTER);
super(settings, ModRegistry.BlockEntities.PRINTER);
registerDefaultState(getStateDefinition().any()
.setValue(FACING, Direction.NORTH)
.setValue(TOP, false)

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.peripheral.printer;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.util.SingleIntArray;
import dan200.computercraft.shared.util.ValidatingSlot;
import net.minecraft.world.Container;
@ -25,7 +25,7 @@ public class ContainerPrinter extends AbstractContainerMenu {
private final ContainerData properties;
private ContainerPrinter(int id, Inventory player, Container inventory, ContainerData properties) {
super(Registry.ModContainers.PRINTER.get(), id);
super(ModRegistry.Menus.PRINTER.get(), id);
this.properties = properties;
this.inventory = inventory;

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.peripheral.speaker;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.common.BlockGeneric;
import net.minecraft.core.Direction;
import net.minecraft.world.item.context.BlockPlaceContext;
@ -31,7 +31,7 @@ public class BlockSpeaker extends BlockGeneric {
private static final BlockEntityTicker<TileSpeaker> serverTicker = (level, pos, state, drive) -> drive.serverTick();
public BlockSpeaker(Properties settings) {
super(settings, Registry.ModBlockEntities.SPEAKER);
super(settings, ModRegistry.BlockEntities.SPEAKER);
registerDefaultState(getStateDefinition().any()
.setValue(FACING, Direction.NORTH));
}
@ -64,6 +64,6 @@ public BlockState getStateForPlacement(BlockPlaceContext placement) {
@Override
@Nullable
public <U extends BlockEntity> BlockEntityTicker<U> getTicker(@Nonnull Level level, @Nonnull BlockState state, @Nonnull BlockEntityType<U> type) {
return level.isClientSide ? null : BaseEntityBlock.createTickerHelper(type, Registry.ModBlockEntities.SPEAKER.get(), serverTicker);
return level.isClientSide ? null : BaseEntityBlock.createTickerHelper(type, ModRegistry.BlockEntities.SPEAKER.get(), serverTicker);
}
}

View File

@ -5,7 +5,7 @@
*/
package dan200.computercraft.shared.pocket.inventory;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.core.ServerComputer;
import dan200.computercraft.shared.computer.inventory.ComputerMenuWithoutInventory;
import dan200.computercraft.shared.pocket.items.ItemPocketComputer;
@ -46,7 +46,7 @@ public Component getDisplayName() {
@Override
public AbstractContainerMenu createMenu(int id, @Nonnull Inventory inventory, @Nonnull Player entity) {
return new ComputerMenuWithoutInventory(
isTypingOnly ? Registry.ModContainers.POCKET_COMPUTER_NO_TERM.get() : Registry.ModContainers.POCKET_COMPUTER.get(), id, inventory,
isTypingOnly ? ModRegistry.Menus.POCKET_COMPUTER_NO_TERM.get() : ModRegistry.Menus.POCKET_COMPUTER.get(), id, inventory,
p -> {
var stack = p.getItemInHand(hand);
return stack.getItem() == item && ItemPocketComputer.getServerComputer(entity.level.getServer(), stack) == computer;

View File

@ -6,7 +6,7 @@
package dan200.computercraft.shared.pocket.items;
import dan200.computercraft.api.pocket.IPocketUpgrade;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import net.minecraft.world.item.ItemStack;
@ -19,8 +19,8 @@ private PocketComputerItemFactory() {
@Nonnull
public static ItemStack create(int id, String label, int colour, ComputerFamily family, IPocketUpgrade upgrade) {
return switch (family) {
case NORMAL -> Registry.ModItems.POCKET_COMPUTER_NORMAL.get().create(id, label, colour, upgrade);
case ADVANCED -> Registry.ModItems.POCKET_COMPUTER_ADVANCED.get().create(id, label, colour, upgrade);
case NORMAL -> ModRegistry.Items.POCKET_COMPUTER_NORMAL.get().create(id, label, colour, upgrade);
case ADVANCED -> ModRegistry.Items.POCKET_COMPUTER_ADVANCED.get().create(id, label, colour, upgrade);
default -> ItemStack.EMPTY;
};
}

View File

@ -6,7 +6,7 @@
package dan200.computercraft.shared.turtle.inventory;
import dan200.computercraft.client.gui.widgets.ComputerSidebar;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import dan200.computercraft.shared.computer.core.ServerComputer;
import dan200.computercraft.shared.computer.inventory.ContainerComputerBase;
@ -39,7 +39,7 @@ private ContainerTurtle(
int id, Predicate<Player> canUse, ComputerFamily family, @Nullable ServerComputer computer, @Nullable ComputerContainerData menuData,
Inventory playerInventory, Container inventory, ContainerData data
) {
super(Registry.ModContainers.TURTLE.get(), id, canUse, family, computer, menuData);
super(ModRegistry.Menus.TURTLE.get(), id, canUse, family, computer, menuData);
this.data = data;
addDataSlots(data);

View File

@ -7,7 +7,7 @@
import dan200.computercraft.api.turtle.ITurtleUpgrade;
import dan200.computercraft.api.turtle.TurtleSide;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import dan200.computercraft.shared.computer.core.ComputerFamily;
import dan200.computercraft.shared.turtle.blocks.ITurtleTile;
import net.minecraft.resources.ResourceLocation;
@ -34,9 +34,9 @@ public static ItemStack create(ITurtleTile turtle) {
public static ItemStack create(int id, String label, int colour, ComputerFamily family, ITurtleUpgrade leftUpgrade, ITurtleUpgrade rightUpgrade, int fuelLevel, ResourceLocation overlay) {
return switch (family) {
case NORMAL ->
Registry.ModItems.TURTLE_NORMAL.get().create(id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay);
ModRegistry.Items.TURTLE_NORMAL.get().create(id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay);
case ADVANCED ->
Registry.ModItems.TURTLE_ADVANCED.get().create(id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay);
ModRegistry.Items.TURTLE_ADVANCED.get().create(id, label, colour, leftUpgrade, rightUpgrade, fuelLevel, overlay);
default -> ItemStack.EMPTY;
};
}

View File

@ -6,7 +6,7 @@
package dan200.computercraft.shared.util;
import dan200.computercraft.ComputerCraft;
import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.ModRegistry;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
@ -20,6 +20,6 @@ public CreativeTabMain() {
@Nonnull
@Override
public ItemStack makeIcon() {
return new ItemStack(Registry.ModBlocks.COMPUTER_NORMAL.get());
return new ItemStack(ModRegistry.Blocks.COMPUTER_NORMAL.get());
}
}

View File

@ -8,7 +8,7 @@
import dan200.computercraft.gametest.api.GameTestHolder
import dan200.computercraft.gametest.api.Structures
import dan200.computercraft.gametest.api.sequence
import dan200.computercraft.shared.Registry
import dan200.computercraft.shared.ModRegistry
import net.minecraft.core.BlockPos
import net.minecraft.gametest.framework.GameTest
import net.minecraft.gametest.framework.GameTestHelper
@ -31,7 +31,7 @@ fun Chest_contains_disk(context: GameTestHelper) = context.sequence {
chest.setLootTable(BuiltInLootTables.SIMPLE_DUNGEON, 123)
chest.unpackLootTable(null)
context.assertContainerContains(pos, Registry.ModItems.TREASURE_DISK.get())
context.assertContainerContains(pos, ModRegistry.Items.TREASURE_DISK.get())
}
}
}

View File

@ -9,6 +9,7 @@
import dan200.computercraft.core.apis.PeripheralAPI
import dan200.computercraft.core.computer.ComputerSide
import dan200.computercraft.gametest.api.*
import dan200.computercraft.shared.ModRegistry
import dan200.computercraft.shared.peripheral.modem.wired.BlockCable
import dan200.computercraft.test.core.assertArrayEquals
import dan200.computercraft.test.core.computer.LuaTaskContext
@ -40,7 +41,7 @@ fun Gains_peripherals(helper: GameTestHelper) = helper.sequence {
BlockCable.correctConnections(
helper.level,
helper.absolutePos(position),
dan200.computercraft.shared.Registry.ModBlocks.CABLE.get().defaultBlockState().setValue(BlockCable.CABLE, true),
ModRegistry.Blocks.CABLE.get().defaultBlockState().setValue(BlockCable.CABLE, true),
),
)
}

View File

@ -9,7 +9,7 @@
import dan200.computercraft.gametest.api.getBlockEntity
import dan200.computercraft.gametest.api.sequence
import dan200.computercraft.gametest.api.setBlock
import dan200.computercraft.shared.Registry
import dan200.computercraft.shared.ModRegistry
import net.minecraft.commands.arguments.blocks.BlockInput
import net.minecraft.core.BlockPos
import net.minecraft.gametest.framework.GameTest
@ -30,7 +30,7 @@ fun Ensures_valid_on_place(context: GameTestHelper) = context.sequence {
tag.putInt("Height", 2)
val toSet = BlockInput(
Registry.ModBlocks.MONITOR_ADVANCED.get().defaultBlockState(),
ModRegistry.Blocks.MONITOR_ADVANCED.get().defaultBlockState(),
Collections.emptySet(),
tag,
)
@ -40,7 +40,7 @@ fun Ensures_valid_on_place(context: GameTestHelper) = context.sequence {
}
thenIdle(2)
thenExecute {
val tile = context.getBlockEntity(pos, Registry.ModBlockEntities.MONITOR_ADVANCED.get())
val tile = context.getBlockEntity(pos, ModRegistry.BlockEntities.MONITOR_ADVANCED.get())
if (tile.width != 1 || tile.height != 1) {
context.fail("Tile has width and height of ${tile.width}x${tile.height}, but should be 1x1", pos)

View File

@ -8,7 +8,7 @@
import dan200.computercraft.gametest.api.GameTestHolder
import dan200.computercraft.gametest.api.Structures
import dan200.computercraft.gametest.api.sequence
import dan200.computercraft.shared.Registry
import dan200.computercraft.shared.ModRegistry
import net.minecraft.gametest.framework.GameTest
import net.minecraft.gametest.framework.GameTestAssertException
import net.minecraft.gametest.framework.GameTestHelper
@ -36,7 +36,7 @@ fun Craft_result_has_nbt(context: GameTestHelper) = context.sequence {
thenExecute {
val container = CraftingContainer(DummyMenu, 3, 3)
container.setItem(0, ItemStack(Items.SKELETON_SKULL))
container.setItem(1, ItemStack(Registry.ModItems.COMPUTER_ADVANCED.get()))
container.setItem(1, ItemStack(ModRegistry.Items.COMPUTER_ADVANCED.get()))
val recipe: Optional<CraftingRecipe> = context.level.server.recipeManager
.getRecipeFor(RecipeType.CRAFTING, container, context.level)

View File

@ -10,7 +10,7 @@
import dan200.computercraft.api.lua.ObjectArguments
import dan200.computercraft.core.apis.PeripheralAPI
import dan200.computercraft.gametest.api.*
import dan200.computercraft.shared.Registry
import dan200.computercraft.shared.ModRegistry
import dan200.computercraft.shared.media.items.ItemPrintout
import dan200.computercraft.shared.peripheral.monitor.BlockMonitor
import dan200.computercraft.shared.peripheral.monitor.MonitorEdgeState
@ -204,7 +204,7 @@ fun Resists_explosions(helper: GameTestHelper) = helper.sequence {
}
thenWaitUntil { helper.assertEntityNotPresent(EntityType.TNT) }
thenExecute {
helper.assertBlockPresent(Registry.ModBlocks.TURTLE_ADVANCED.get(), BlockPos(2, 2, 2))
helper.assertBlockPresent(ModRegistry.Blocks.TURTLE_ADVANCED.get(), BlockPos(2, 2, 2))
helper.assertBlockPresent(Blocks.AIR, BlockPos(2, 2, 1))
}
}
@ -217,8 +217,8 @@ fun Resists_entity_explosions(helper: GameTestHelper) = helper.sequence {
thenExecute { helper.getEntity(EntityType.CREEPER).ignite() }
thenWaitUntil { helper.assertEntityNotPresent(EntityType.CREEPER) }
thenExecute {
helper.assertBlockPresent(Registry.ModBlocks.TURTLE_ADVANCED.get(), BlockPos(2, 2, 2))
helper.assertBlockPresent(Registry.ModBlocks.TURTLE_NORMAL.get(), BlockPos(2, 2, 1))
helper.assertBlockPresent(ModRegistry.Blocks.TURTLE_ADVANCED.get(), BlockPos(2, 2, 2))
helper.assertBlockPresent(ModRegistry.Blocks.TURTLE_NORMAL.get(), BlockPos(2, 2, 1))
}
}
@ -311,7 +311,7 @@ fun Refuel_container(helper: GameTestHelper) = helper.sequence {
@GameTest
fun Move_replace(helper: GameTestHelper) = helper.sequence {
thenOnComputer { turtle.forward().await().assertArrayEquals(true, message = "Turtle moved forward") }
thenExecute { helper.assertBlockPresent(Registry.ModBlocks.TURTLE_NORMAL.get(), BlockPos(2, 2, 3)) }
thenExecute { helper.assertBlockPresent(ModRegistry.Blocks.TURTLE_NORMAL.get(), BlockPos(2, 2, 3)) }
}
/**
@ -339,7 +339,7 @@ fun Move_water(helper: GameTestHelper) = helper.sequence {
fun Move_obstruct(helper: GameTestHelper) = helper.sequence {
thenOnComputer { turtle.forward().await().assertArrayEquals(false, "Movement obstructed") }
thenExecute {
helper.assertBlockPresent(Registry.ModBlocks.TURTLE_NORMAL.get(), BlockPos(2, 2, 2))
helper.assertBlockPresent(ModRegistry.Blocks.TURTLE_NORMAL.get(), BlockPos(2, 2, 2))
helper.assertBlockPresent(Blocks.DIRT, BlockPos(2, 2, 3))
}
}
@ -355,7 +355,7 @@ fun Attack_entity(helper: GameTestHelper) = helper.sequence {
}
thenExecute {
helper.assertEntityNotPresent(EntityType.SHEEP)
val count = helper.getBlockEntity(turtlePos, Registry.ModBlockEntities.TURTLE_NORMAL.get()).countItem(Items.WHITE_WOOL)
val count = helper.getBlockEntity(turtlePos, ModRegistry.BlockEntities.TURTLE_NORMAL.get()).countItem(Items.WHITE_WOOL)
if (count == 0) helper.fail("Expected turtle to have white wool", turtlePos)
}
}