mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-09-04 03:17:55 +00:00
registry is gone
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
|
||||
package dan200.computercraft;
|
||||
|
||||
import static dan200.computercraft.shared.Registry.*;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
@@ -19,7 +21,6 @@ import dan200.computercraft.core.apis.http.options.Action;
|
||||
import dan200.computercraft.core.apis.http.options.AddressRule;
|
||||
import dan200.computercraft.core.asm.GenericSource;
|
||||
import dan200.computercraft.shared.Config;
|
||||
import dan200.computercraft.shared.Registry;
|
||||
import dan200.computercraft.shared.computer.core.ClientComputerRegistry;
|
||||
import dan200.computercraft.shared.computer.core.ServerComputerRegistry;
|
||||
import dan200.computercraft.shared.peripheral.monitor.MonitorRenderer;
|
||||
@@ -79,10 +80,10 @@ public final class ComputerCraft implements ModInitializer {
|
||||
public static int httpMaxWebsockets = 4;
|
||||
|
||||
public static boolean enableCommandBlock = false;
|
||||
public static int modemRange = 64;
|
||||
public static int modemHighAltitudeRange = 384;
|
||||
public static int modemRangeDuringStorm = 64;
|
||||
public static int modemHighAltitudeRangeDuringStorm = 384;
|
||||
public static int emRange = 64;
|
||||
public static int emHighAltitudeRange = 384;
|
||||
public static int emRangeDuringStorm = 64;
|
||||
public static int emHighAltitudeRangeDuringStorm = 384;
|
||||
public static int maxNotesPerTick = 8;
|
||||
public static MonitorRenderer monitorRenderer = MonitorRenderer.BEST;
|
||||
public static double monitorDistanceSq = 4096;
|
||||
@@ -110,8 +111,8 @@ public final class ComputerCraft implements ModInitializer {
|
||||
public static int monitorHeight = 6;
|
||||
|
||||
public static final class TurtleUpgrades {
|
||||
public static TurtleModem wirelessModemNormal;
|
||||
public static TurtleModem wirelessModemAdvanced;
|
||||
public static TurtleModem wirelessemNormal;
|
||||
public static TurtleModem wirelessemAdvanced;
|
||||
public static TurtleSpeaker speaker;
|
||||
|
||||
public static TurtleCraftingTable craftingTable;
|
||||
@@ -123,8 +124,8 @@ public final class ComputerCraft implements ModInitializer {
|
||||
}
|
||||
|
||||
public static final class PocketUpgrades {
|
||||
public static PocketModem wirelessModemNormal;
|
||||
public static PocketModem wirelessModemAdvanced;
|
||||
public static PocketModem wirelessemNormal;
|
||||
public static PocketModem wirelessemAdvanced;
|
||||
public static PocketSpeaker speaker;
|
||||
}
|
||||
|
||||
@@ -139,7 +140,9 @@ public final class ComputerCraft implements ModInitializer {
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
Config.setup();
|
||||
Registry.setup();
|
||||
GenericSource.setup(() -> ServiceUtil.loadServicesForge(GenericSource.class));
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -73,6 +73,7 @@ public final class ClientRegistry
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings ("NewExpressionSideOnly")
|
||||
public static void onModelBakeEvent(ResourceManager manager, Consumer<ModelIdentifier> out) {
|
||||
for (String model : EXTRA_MODELS) {
|
||||
out.accept(new ModelIdentifier(new Identifier(ComputerCraft.MOD_ID, model), "inventory"));
|
||||
@@ -81,7 +82,7 @@ public final class ClientRegistry
|
||||
|
||||
public static void onItemColours() {
|
||||
ColorProviderRegistry.ITEM.register((stack, layer) -> {
|
||||
return layer == 1 ? ((ItemDisk) stack.getItem()).getColour(stack) : 0xFFFFFF, Registry.ModItems.DISK);
|
||||
return layer == 1 ? ((ItemDisk) stack.getItem()).getColour(stack) : 0xFFFFFF;
|
||||
});
|
||||
|
||||
ColorProviderRegistry.ITEM.register((stack, layer) -> {
|
||||
|
@@ -85,11 +85,11 @@ public final class ComputerCraftProxyClient
|
||||
|
||||
HandledScreens.<ContainerComputer, GuiComputer<ContainerComputer>>register( Registry.ModContainers.COMPUTER.get(), GuiComputer::create );
|
||||
HandledScreens.<ContainerPocketComputer, GuiComputer<ContainerPocketComputer>>register( Registry.ModContainers.POCKET_COMPUTER.get(), GuiComputer::createPocket );
|
||||
HandledScreens.register( Registry.ModContainers.TURTLE.get(), GuiTurtle::new );
|
||||
HandledScreens.register( Registry.ModContainers.TURTLE, GuiTurtle::new );
|
||||
|
||||
HandledScreens.register( Registry.ModContainers.PRINTER.get(), GuiPrinter::new );
|
||||
HandledScreens.register( Registry.ModContainers.DISK_DRIVE.get(), GuiDiskDrive::new );
|
||||
HandledScreens.register( Registry.ModContainers.PRINTOUT.get(), GuiPrintout::new );
|
||||
HandledScreens.register( Registry.ModContainers.PRINTER, GuiPrinter::new );
|
||||
HandledScreens.register( Registry.ModContainers.DISK_DRIVE, GuiDiskDrive::new );
|
||||
HandledScreens.register( Registry.ModContainers.PRINTOUT, GuiPrintout::new );
|
||||
|
||||
HandledScreens.<ContainerViewComputer, GuiComputer<ContainerViewComputer>>register( Registry.ModContainers.VIEW_COMPUTER.get(), GuiComputer::createView );
|
||||
}
|
||||
|
@@ -5,9 +5,12 @@
|
||||
*/
|
||||
package dan200.computercraft.shared;
|
||||
|
||||
import static net.minecraft.util.registry.Registry.BLOCK_ENTITY_TYPE;
|
||||
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import dan200.computercraft.ComputerCraft;
|
||||
import dan200.computercraft.api.ComputerCraftAPI;
|
||||
import dan200.computercraft.shared.common.ColourableRecipe;
|
||||
import dan200.computercraft.shared.common.ContainerHeldItem;
|
||||
import dan200.computercraft.shared.computer.blocks.BlockComputer;
|
||||
import dan200.computercraft.shared.computer.blocks.TileCommandComputer;
|
||||
@@ -16,12 +19,9 @@ import dan200.computercraft.shared.computer.core.ComputerFamily;
|
||||
import dan200.computercraft.shared.computer.inventory.ContainerComputer;
|
||||
import dan200.computercraft.shared.computer.inventory.ContainerViewComputer;
|
||||
import dan200.computercraft.shared.computer.items.ItemComputer;
|
||||
import dan200.computercraft.shared.computer.recipe.ComputerUpgradeRecipe;
|
||||
import dan200.computercraft.shared.media.items.ItemDisk;
|
||||
import dan200.computercraft.shared.media.items.ItemPrintout;
|
||||
import dan200.computercraft.shared.media.items.ItemTreasureDisk;
|
||||
import dan200.computercraft.shared.media.recipes.DiskRecipe;
|
||||
import dan200.computercraft.shared.media.recipes.PrintoutRecipe;
|
||||
import dan200.computercraft.shared.network.container.ComputerContainerData;
|
||||
import dan200.computercraft.shared.network.container.ContainerData;
|
||||
import dan200.computercraft.shared.network.container.HeldItemContainerData;
|
||||
@@ -29,7 +29,11 @@ import dan200.computercraft.shared.network.container.ViewComputerContainerData;
|
||||
import dan200.computercraft.shared.peripheral.diskdrive.BlockDiskDrive;
|
||||
import dan200.computercraft.shared.peripheral.diskdrive.ContainerDiskDrive;
|
||||
import dan200.computercraft.shared.peripheral.diskdrive.TileDiskDrive;
|
||||
import dan200.computercraft.shared.peripheral.modem.wired.*;
|
||||
import dan200.computercraft.shared.peripheral.modem.wired.BlockCable;
|
||||
import dan200.computercraft.shared.peripheral.modem.wired.BlockWiredModemFull;
|
||||
import dan200.computercraft.shared.peripheral.modem.wired.ItemBlockCable;
|
||||
import dan200.computercraft.shared.peripheral.modem.wired.TileCable;
|
||||
import dan200.computercraft.shared.peripheral.modem.wired.TileWiredModemFull;
|
||||
import dan200.computercraft.shared.peripheral.modem.wireless.BlockWirelessModem;
|
||||
import dan200.computercraft.shared.peripheral.modem.wireless.TileWirelessModem;
|
||||
import dan200.computercraft.shared.peripheral.monitor.BlockMonitor;
|
||||
@@ -41,21 +45,14 @@ import dan200.computercraft.shared.peripheral.speaker.BlockSpeaker;
|
||||
import dan200.computercraft.shared.peripheral.speaker.TileSpeaker;
|
||||
import dan200.computercraft.shared.pocket.inventory.ContainerPocketComputer;
|
||||
import dan200.computercraft.shared.pocket.items.ItemPocketComputer;
|
||||
import dan200.computercraft.shared.pocket.peripherals.PocketModem;
|
||||
import dan200.computercraft.shared.pocket.peripherals.PocketSpeaker;
|
||||
import dan200.computercraft.shared.pocket.recipes.PocketComputerUpgradeRecipe;
|
||||
import dan200.computercraft.shared.turtle.blocks.BlockTurtle;
|
||||
import dan200.computercraft.shared.turtle.blocks.TileTurtle;
|
||||
import dan200.computercraft.shared.turtle.core.TurtlePlayer;
|
||||
import dan200.computercraft.shared.turtle.inventory.ContainerTurtle;
|
||||
import dan200.computercraft.shared.turtle.items.ItemTurtle;
|
||||
import dan200.computercraft.shared.turtle.recipes.TurtleRecipe;
|
||||
import dan200.computercraft.shared.turtle.recipes.TurtleUpgradeRecipe;
|
||||
import dan200.computercraft.shared.turtle.upgrades.*;
|
||||
import dan200.computercraft.shared.util.CreativeTabMain;
|
||||
import dan200.computercraft.shared.util.FixedPointTileEntityType;
|
||||
import dan200.computercraft.shared.util.ImpostorRecipe;
|
||||
import dan200.computercraft.shared.util.ImpostorShapelessRecipe;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Material;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
@@ -65,247 +62,202 @@ import net.minecraft.entity.SpawnGroup;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.recipe.RecipeSerializer;
|
||||
import net.minecraft.screen.ScreenHandler;
|
||||
import net.minecraft.screen.ScreenHandlerType;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.registry.MutableRegistry;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.RegistryObject;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
public final class Registry {
|
||||
public static final String MOD_ID = ComputerCraft.MOD_ID;
|
||||
|
||||
@Mod.EventBusSubscriber( modid = ComputerCraft.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD )
|
||||
public final class Registry
|
||||
{
|
||||
private static final ItemGroup mainItemGroup = new CreativeTabMain();
|
||||
public static void init() {
|
||||
Object[] o = {ModBlocks.CABLE, ModTiles.CABLE, ModItems.CABLE, ModEntities.TURTLE_PLAYER, ModContainers.COMPUTER};
|
||||
}
|
||||
public static final class ModBlocks {
|
||||
private static Block.Settings properties() {
|
||||
return Block.Settings.of(Material.STONE)
|
||||
.strength(2);
|
||||
}
|
||||
|
||||
private Registry()
|
||||
{
|
||||
private static Block.Settings turtleProperties() {
|
||||
return Block.Settings.of(Material.STONE)
|
||||
.strength(2.5f);
|
||||
}
|
||||
|
||||
private static Block.Settings emProperties() {
|
||||
return Block.Settings.of(Material.STONE)
|
||||
.strength(1.5f);
|
||||
}
|
||||
|
||||
public static final BlockComputer COMPUTER_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
new Identifier(MOD_ID, "computer_normal"),
|
||||
new BlockComputer(properties(), ComputerFamily.NORMAL, ModTiles.COMPUTER_NORMAL));
|
||||
public static final BlockComputer COMPUTER_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"computer_advanced",
|
||||
new BlockComputer(properties(),
|
||||
ComputerFamily.ADVANCED,
|
||||
ModTiles.COMPUTER_ADVANCED));
|
||||
|
||||
public static final BlockComputer COMPUTER_COMMAND = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"computer_command",
|
||||
new BlockComputer(Block.Settings.of(Material.STONE)
|
||||
.strength(-1, 6000000.0F),
|
||||
ComputerFamily.COMMAND,
|
||||
ModTiles.COMPUTER_COMMAND));
|
||||
|
||||
public static final BlockTurtle TURTLE_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"turtle_normal",
|
||||
new BlockTurtle(turtleProperties(), ComputerFamily.NORMAL, ModTiles.TURTLE_NORMAL));
|
||||
public static final BlockTurtle TURTLE_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"turtle_advanced",
|
||||
new BlockTurtle(turtleProperties(),
|
||||
ComputerFamily.ADVANCED,
|
||||
ModTiles.TURTLE_ADVANCED));
|
||||
|
||||
public static final BlockSpeaker SPEAKER = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "speaker",
|
||||
new BlockSpeaker(properties()));
|
||||
public static final BlockDiskDrive DISK_DRIVE = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "disk_drive", new BlockDiskDrive(properties()));
|
||||
public static final BlockPrinter PRINTER = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "printer", new BlockPrinter(properties()));
|
||||
|
||||
public static final BlockMonitor MONITOR_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"monitor_normal",
|
||||
new BlockMonitor(properties(), ModTiles.MONITOR_NORMAL));
|
||||
public static final BlockMonitor MONITOR_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"monitor_advanced",
|
||||
new BlockMonitor(properties(), ModTiles.MONITOR_ADVANCED));
|
||||
|
||||
public static final BlockWirelessModem WIRELESS_EM_NORMAL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"wireless_em_normal",
|
||||
new BlockWirelessModem(properties(), ModTiles.WIRELESS_MODEM_NORMAL));
|
||||
public static final BlockWirelessModem WIRELESS_EM_ADVANCED = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"wireless_em_advanced",
|
||||
new BlockWirelessModem(properties(),
|
||||
ModTiles.WIRELESS_MODEM_ADVANCED));
|
||||
|
||||
public static final BlockWiredModemFull WIRED_MODEM_FULL = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK,
|
||||
"wired_em_full",
|
||||
new BlockWiredModemFull(emProperties(), ModTiles.WIRED_MODEM_FULL));
|
||||
public static final BlockCable CABLE = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.BLOCK, "cable", new BlockCable(emProperties()));
|
||||
}
|
||||
|
||||
public static void registerBlocks(MutableRegistry<Block> registry) {
|
||||
// Computers
|
||||
ComputerCraft.Blocks.computerNormal = new BlockComputer(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2.0f)
|
||||
.build(), ComputerFamily.NORMAL, TileComputer.FACTORY_NORMAL);
|
||||
public static class ModTiles {
|
||||
|
||||
ComputerCraft.Blocks.computerAdvanced = new BlockComputer(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2.0f)
|
||||
.build(), ComputerFamily.Advanced, TileComputer.FACTORY_ADVANCED);
|
||||
private static <T extends BlockEntity> BlockEntityType<T> ofBlock(Block block, Function<BlockEntityType<T>, T> factory) {
|
||||
return net.minecraft.util.registry.Registry.register(BLOCK_ENTITY_TYPE, net.minecraft.util.registry.Registry.BLOCK.getId(block), FixedPointTileEntityType.create(block, factory));
|
||||
}
|
||||
|
||||
ComputerCraft.Blocks.computerCommand = new BlockComputer(FabricBlockSettings.of(Material.STONE)
|
||||
.strength(-1, 6000000.0F)
|
||||
.build(), ComputerFamily.Command, TileCommandComputer.FACTORY);
|
||||
public static final BlockEntityType<TileMonitor> MONITOR_NORMAL = ofBlock(ModBlocks.MONITOR_NORMAL, f -> new TileMonitor(f, false));
|
||||
public static final BlockEntityType<TileMonitor> MONITOR_ADVANCED = ofBlock(ModBlocks.MONITOR_ADVANCED, f -> new TileMonitor(f, true));
|
||||
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "computer_normal"), ComputerCraft.Blocks.computerNormal);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "computer_advanced"), ComputerCraft.Blocks.computerAdvanced);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "computer_command"), ComputerCraft.Blocks.computerCommand);
|
||||
public static final BlockEntityType<TileComputer> COMPUTER_NORMAL = ofBlock(ModBlocks.COMPUTER_NORMAL,
|
||||
f -> new TileComputer(ComputerFamily.NORMAL, f));
|
||||
public static final BlockEntityType<TileComputer> COMPUTER_ADVANCED = ofBlock(ModBlocks.COMPUTER_ADVANCED,
|
||||
f -> new TileComputer(ComputerFamily.ADVANCED, f));
|
||||
public static final BlockEntityType<TileCommandComputer> COMPUTER_COMMAND = ofBlock(ModBlocks.COMPUTER_COMMAND,
|
||||
f -> new TileCommandComputer(ComputerFamily.COMMAND, f));
|
||||
|
||||
// Turtles
|
||||
ComputerCraft.Blocks.turtleNormal = new BlockTurtle(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2.5f)
|
||||
.build(), ComputerFamily.Normal, TileTurtle.FACTORY_NORMAL);
|
||||
public static final BlockEntityType<TileTurtle> TURTLE_NORMAL = ofBlock(ModBlocks.TURTLE_NORMAL, f -> new TileTurtle(f, ComputerFamily.NORMAL));
|
||||
public static final BlockEntityType<TileTurtle> TURTLE_ADVANCED = ofBlock(ModBlocks.TURTLE_ADVANCED, f -> new TileTurtle(f, ComputerFamily.ADVANCED));
|
||||
|
||||
ComputerCraft.Blocks.turtleAdvanced = new BlockTurtle(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2.5f)
|
||||
.build(), ComputerFamily.Advanced, TileTurtle.FACTORY_ADVANCED);
|
||||
public static final BlockEntityType<TileSpeaker> SPEAKER = ofBlock(ModBlocks.SPEAKER, TileSpeaker::new);
|
||||
public static final BlockEntityType<TileDiskDrive> DISK_DRIVE = ofBlock(ModBlocks.DISK_DRIVE, TileDiskDrive::new);
|
||||
public static final BlockEntityType<TilePrinter> PRINTER = ofBlock(ModBlocks.PRINTER, TilePrinter::new);
|
||||
public static final BlockEntityType<TileWiredModemFull> WIRED_MODEM_FULL = ofBlock(ModBlocks.WIRED_MODEM_FULL, TileWiredModemFull::new);
|
||||
public static final BlockEntityType<TileCable> CABLE = ofBlock(ModBlocks.CABLE, TileCable::new);
|
||||
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "turtle_normal"), ComputerCraft.Blocks.turtleNormal);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "turtle_advanced"), ComputerCraft.Blocks.turtleAdvanced);
|
||||
|
||||
// Peripherals
|
||||
ComputerCraft.Blocks.speaker = new BlockSpeaker(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2)
|
||||
.build());
|
||||
|
||||
ComputerCraft.Blocks.diskDrive = new BlockDiskDrive(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2)
|
||||
.build());
|
||||
|
||||
ComputerCraft.Blocks.monitorNormal = new BlockMonitor(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2)
|
||||
.build(), TileMonitor.FACTORY_NORMAL);
|
||||
|
||||
ComputerCraft.Blocks.monitorAdvanced = new BlockMonitor(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2)
|
||||
.build(), TileMonitor.FACTORY_ADVANCED);
|
||||
|
||||
ComputerCraft.Blocks.printer = new BlockPrinter(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2)
|
||||
.build());
|
||||
|
||||
ComputerCraft.Blocks.wirelessModemNormal = new BlockWirelessModem(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2)
|
||||
.build(), TileWirelessModem.FACTORY_NORMAL);
|
||||
|
||||
ComputerCraft.Blocks.wirelessModemAdvanced = new BlockWirelessModem(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(2)
|
||||
.build(), TileWirelessModem.FACTORY_ADVANCED);
|
||||
|
||||
ComputerCraft.Blocks.wiredModemFull = new BlockWiredModemFull(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(1.5f)
|
||||
.build());
|
||||
|
||||
ComputerCraft.Blocks.cable = new BlockCable(FabricBlockSettings.of(Material.STONE)
|
||||
.hardness(1.5f)
|
||||
.build());
|
||||
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "speaker"), ComputerCraft.Blocks.speaker);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "disk_drive"), ComputerCraft.Blocks.diskDrive);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "monitor_normal"), ComputerCraft.Blocks.monitorNormal);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "monitor_advanced"), ComputerCraft.Blocks.monitorAdvanced);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "printer"), ComputerCraft.Blocks.printer);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "wireless_modem_normal"), ComputerCraft.Blocks.wirelessModemNormal);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "wireless_modem_advanced"), ComputerCraft.Blocks.wirelessModemAdvanced);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "wired_modem_full"), ComputerCraft.Blocks.wiredModemFull);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "cable"), ComputerCraft.Blocks.cable);
|
||||
public static final BlockEntityType<TileWirelessModem> WIRELESS_MODEM_NORMAL = ofBlock(ModBlocks.WIRELESS_EM_NORMAL, f -> new TileWirelessModem(f,
|
||||
false));
|
||||
public static final BlockEntityType<TileWirelessModem> WIRELESS_MODEM_ADVANCED = ofBlock(ModBlocks.WIRELESS_EM_ADVANCED, f -> new TileWirelessModem(f, true));
|
||||
}
|
||||
|
||||
public static void registerTileEntities(MutableRegistry<BlockEntityType<?>> registry) {
|
||||
// Computers
|
||||
registry.add(TileComputer.FACTORY_NORMAL.getId(), TileComputer.FACTORY_NORMAL);
|
||||
registry.add(TileComputer.FACTORY_ADVANCED.getId(), TileComputer.FACTORY_ADVANCED);
|
||||
registry.add(TileCommandComputer.FACTORY.getId(), TileCommandComputer.FACTORY);
|
||||
public static final class ModItems {
|
||||
private static final ItemGroup mainItemGroup = new CreativeTabMain();
|
||||
|
||||
// Turtles
|
||||
registry.add(TileTurtle.FACTORY_NORMAL.getId(), TileTurtle.FACTORY_NORMAL);
|
||||
registry.add(TileTurtle.FACTORY_ADVANCED.getId(), TileTurtle.FACTORY_ADVANCED);
|
||||
private static Item.Settings properties() {
|
||||
return new Item.Settings().group(mainItemGroup);
|
||||
}
|
||||
|
||||
// Peripherals
|
||||
registry.add(TileSpeaker.FACTORY.getId(), TileSpeaker.FACTORY);
|
||||
registry.add(TileDiskDrive.FACTORY.getId(), TileDiskDrive.FACTORY);
|
||||
registry.add(TilePrinter.FACTORY.getId(), TilePrinter.FACTORY);
|
||||
private static <B extends Block, I extends Item> I ofBlock(B parent, BiFunction<B, Item.Settings, I> supplier) {
|
||||
return net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.ITEM, net.minecraft.util.registry.Registry.BLOCK.getId(parent), supplier.apply(parent, properties()));
|
||||
}
|
||||
|
||||
registry.add(TileMonitor.FACTORY_NORMAL.getId(), TileMonitor.FACTORY_NORMAL);
|
||||
registry.add(TileMonitor.FACTORY_ADVANCED.getId(), TileMonitor.FACTORY_ADVANCED);
|
||||
public static final ItemComputer COMPUTER_NORMAL = ofBlock(ModBlocks.COMPUTER_NORMAL, ItemComputer::new);
|
||||
public static final ItemComputer COMPUTER_ADVANCED = ofBlock(ModBlocks.COMPUTER_ADVANCED, ItemComputer::new);
|
||||
public static final ItemComputer COMPUTER_COMMAND = ofBlock(ModBlocks.COMPUTER_COMMAND, ItemComputer::new);
|
||||
private static <T extends Item> T register(String id, T item) {
|
||||
return net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.ITEM, new Identifier(MOD_ID, id), item);
|
||||
}
|
||||
|
||||
registry.add(TileWirelessModem.FACTORY_NORMAL.getId(), TileWirelessModem.FACTORY_NORMAL);
|
||||
registry.add(TileWirelessModem.FACTORY_ADVANCED.getId(), TileWirelessModem.FACTORY_ADVANCED);
|
||||
registry.add(TileCable.FACTORY.getId(), TileCable.FACTORY);
|
||||
registry.add(TileWiredModemFull.FACTORY.getId(), TileWiredModemFull.FACTORY);
|
||||
public static final ItemPocketComputer POCKET_COMPUTER_NORMAL = register("pocket_computer_normal",
|
||||
new ItemPocketComputer(properties().maxCount(1),
|
||||
ComputerFamily.NORMAL));
|
||||
public static final ItemPocketComputer POCKET_COMPUTER_ADVANCED = register("pocket_computer_advanced",
|
||||
new ItemPocketComputer(properties().maxCount(1),
|
||||
ComputerFamily.ADVANCED));
|
||||
|
||||
public static final ItemTurtle TURTLE_NORMAL = ofBlock(ModBlocks.TURTLE_NORMAL, ItemTurtle::new);
|
||||
public static final ItemTurtle TURTLE_ADVANCED = ofBlock(ModBlocks.TURTLE_ADVANCED, ItemTurtle::new);
|
||||
|
||||
public static final ItemDisk DISK = register("disk", new ItemDisk(properties().maxCount(1)));
|
||||
public static final ItemTreasureDisk TREASURE_DISK = register("treasure_disk", new ItemTreasureDisk(properties().maxCount(1)));
|
||||
|
||||
public static final ItemPrintout PRINTED_PAGE = register("printed_page", new ItemPrintout(properties().maxCount(1), ItemPrintout.Type.PAGE));
|
||||
public static final ItemPrintout PRINTED_PAGES = register("printed_pages",
|
||||
new ItemPrintout(properties().maxCount(1), ItemPrintout.Type.PAGES));
|
||||
public static final ItemPrintout PRINTED_BOOK = register("printed_book", new ItemPrintout(properties().maxCount(1), ItemPrintout.Type.BOOK));
|
||||
|
||||
public static final BlockItem SPEAKER = ofBlock(ModBlocks.SPEAKER, BlockItem::new);
|
||||
public static final BlockItem DISK_DRIVE = ofBlock(ModBlocks.DISK_DRIVE, BlockItem::new);
|
||||
public static final BlockItem PRINTER = ofBlock(ModBlocks.PRINTER, BlockItem::new);
|
||||
public static final BlockItem MONITOR_NORMAL = ofBlock(ModBlocks.MONITOR_NORMAL, BlockItem::new);
|
||||
public static final BlockItem MONITOR_ADVANCED = ofBlock(ModBlocks.MONITOR_ADVANCED, BlockItem::new);
|
||||
public static final BlockItem WIRELESS_EM_NORMAL = ofBlock(ModBlocks.WIRELESS_EM_NORMAL, BlockItem::new);
|
||||
public static final BlockItem WIRELESS_EM_ADVANCED = ofBlock(ModBlocks.WIRELESS_EM_ADVANCED, BlockItem::new);
|
||||
public static final BlockItem WIRED_EM_FULL = ofBlock(ModBlocks.WIRED_MODEM_FULL, BlockItem::new);
|
||||
|
||||
public static final ItemBlockCable.Cable CABLE = register("cable", new ItemBlockCable.Cable(ModBlocks.CABLE, properties()));
|
||||
public static final ItemBlockCable.WiredModem WIRED_EM = register("wired_em", new ItemBlockCable.WiredModem(ModBlocks.CABLE, properties()));
|
||||
}
|
||||
|
||||
public static void registerItems(MutableRegistry<Item> registry) {
|
||||
// Computer
|
||||
ComputerCraft.Items.computerNormal = new ItemComputer(ComputerCraft.Blocks.computerNormal, defaultItem());
|
||||
ComputerCraft.Items.computerAdvanced = new ItemComputer(ComputerCraft.Blocks.computerAdvanced, defaultItem());
|
||||
ComputerCraft.Items.computerCommand = new ItemComputer(ComputerCraft.Blocks.computerCommand, defaultItem());
|
||||
|
||||
registerItemBlock(registry, ComputerCraft.Items.computerNormal);
|
||||
registerItemBlock(registry, ComputerCraft.Items.computerAdvanced);
|
||||
registerItemBlock(registry, ComputerCraft.Items.computerCommand);
|
||||
|
||||
// Turtle
|
||||
ComputerCraft.Items.turtleNormal = new ItemTurtle(ComputerCraft.Blocks.turtleNormal, defaultItem());
|
||||
ComputerCraft.Items.turtleAdvanced = new ItemTurtle(ComputerCraft.Blocks.turtleAdvanced, defaultItem());
|
||||
|
||||
registerItemBlock(registry, ComputerCraft.Items.turtleNormal);
|
||||
registerItemBlock(registry, ComputerCraft.Items.turtleAdvanced);
|
||||
|
||||
// Pocket computer
|
||||
ComputerCraft.Items.pocketComputerNormal = new ItemPocketComputer(defaultItem().maxCount(1), ComputerFamily.Normal);
|
||||
ComputerCraft.Items.pocketComputerAdvanced = new ItemPocketComputer(defaultItem().maxCount(1), ComputerFamily.Advanced);
|
||||
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "pocket_computer_normal"), ComputerCraft.Items.pocketComputerNormal);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "pocket_computer_advanced"), ComputerCraft.Items.pocketComputerAdvanced);
|
||||
|
||||
// Floppy disk
|
||||
ComputerCraft.Items.disk = new ItemDisk(defaultItem().maxCount(1));
|
||||
ComputerCraft.Items.treasureDisk = new ItemTreasureDisk(defaultItem().maxCount(1));
|
||||
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "disk"), ComputerCraft.Items.disk);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "treasure_disk"), ComputerCraft.Items.treasureDisk);
|
||||
|
||||
// Printouts
|
||||
ComputerCraft.Items.printedPage = new ItemPrintout(defaultItem().maxCount(1), ItemPrintout.Type.PAGE);
|
||||
ComputerCraft.Items.printedPages = new ItemPrintout(defaultItem().maxCount(1), ItemPrintout.Type.PAGES);
|
||||
ComputerCraft.Items.printedBook = new ItemPrintout(defaultItem().maxCount(1), ItemPrintout.Type.BOOK);
|
||||
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "printed_page"), ComputerCraft.Items.printedPage);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "printed_pages"), ComputerCraft.Items.printedPages);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "printed_book"), ComputerCraft.Items.printedBook);
|
||||
|
||||
// Peripherals
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.speaker, defaultItem()));
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.diskDrive, defaultItem()));
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.printer, defaultItem()));
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.monitorNormal, defaultItem()));
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.monitorAdvanced, defaultItem()));
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.wirelessModemNormal, defaultItem()));
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.wirelessModemAdvanced, defaultItem()));
|
||||
registerItemBlock(registry, new BlockItem(ComputerCraft.Blocks.wiredModemFull, defaultItem()));
|
||||
|
||||
ComputerCraft.Items.cable = new ItemBlockCable.Cable(ComputerCraft.Blocks.cable, defaultItem());
|
||||
ComputerCraft.Items.wiredModem = new ItemBlockCable.WiredModem(ComputerCraft.Blocks.cable, defaultItem());
|
||||
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "cable"), ComputerCraft.Items.cable);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "wired_modem"), ComputerCraft.Items.wiredModem);
|
||||
|
||||
registerTurtleUpgrades();
|
||||
registerPocketUpgrades();
|
||||
public static class ModEntities {
|
||||
public static final EntityType<TurtlePlayer> TURTLE_PLAYER = net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.ENTITY_TYPE, new Identifier(MOD_ID, "turtle_player"), EntityType.Builder.<TurtlePlayer>create(
|
||||
SpawnGroup.MISC).disableSaving()
|
||||
.disableSummon()
|
||||
.setDimensions(
|
||||
0,
|
||||
0)
|
||||
.build(
|
||||
ComputerCraft.MOD_ID + ":turtle_player"));
|
||||
}
|
||||
|
||||
private static Item.Settings defaultItem() {
|
||||
return new Item.Settings().group(mainItemGroup);
|
||||
}
|
||||
public static class ModContainers {
|
||||
private static <B extends ScreenHandler, T extends ScreenHandlerType<B>> T register(String id, T item) {
|
||||
return net.minecraft.util.registry.Registry.register(net.minecraft.util.registry.Registry.SCREEN_HANDLER, new Identifier(MOD_ID, id), item);
|
||||
}
|
||||
|
||||
private static void registerItemBlock(MutableRegistry<Item> registry, BlockItem item) {
|
||||
registry.add(net.minecraft.util.registry.Registry.BLOCK.getId(item.getBlock()), item);
|
||||
}
|
||||
public static final ScreenHandlerType<ContainerComputer> COMPUTER = register("computer",
|
||||
ContainerData.toType(ComputerContainerData::new,
|
||||
ContainerComputer::new));
|
||||
|
||||
private static void registerTurtleUpgrades() {
|
||||
// Upgrades
|
||||
ComputerCraft.TurtleUpgrades.wirelessModemNormal = new TurtleModem(false, new Identifier(ComputerCraft.MOD_ID, "wireless_modem_normal"));
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.wirelessModemNormal);
|
||||
public static final ScreenHandlerType<ContainerPocketComputer> POCKET_COMPUTER = register("pocket_computer",
|
||||
ContainerData.toType(ComputerContainerData::new,
|
||||
ContainerPocketComputer::new));
|
||||
|
||||
ComputerCraft.TurtleUpgrades.wirelessModemAdvanced = new TurtleModem(true, new Identifier(ComputerCraft.MOD_ID, "wireless_modem_advanced"));
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.wirelessModemAdvanced);
|
||||
public static final ScreenHandlerType<ContainerTurtle> TURTLE = register("turtle",
|
||||
ContainerData.toType(ComputerContainerData::new,
|
||||
ContainerTurtle::new));
|
||||
|
||||
ComputerCraft.TurtleUpgrades.speaker = new TurtleSpeaker(new Identifier(ComputerCraft.MOD_ID, "speaker"));
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.speaker);
|
||||
|
||||
ComputerCraft.TurtleUpgrades.craftingTable = new TurtleCraftingTable(new Identifier("minecraft", "crafting_table"));
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.craftingTable);
|
||||
public static final ScreenHandlerType<ContainerDiskDrive> DISK_DRIVE = register("disk_drive",
|
||||
new ScreenHandlerType<>(ContainerDiskDrive::new));
|
||||
|
||||
ComputerCraft.TurtleUpgrades.diamondSword = new TurtleSword(new Identifier("minecraft", "diamond_sword"), Items.DIAMOND_SWORD);
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.diamondSword);
|
||||
public static final ScreenHandlerType<ContainerPrinter> PRINTER = register("printer", new ScreenHandlerType<>(ContainerPrinter::new));
|
||||
|
||||
ComputerCraft.TurtleUpgrades.diamondShovel = new TurtleShovel(new Identifier("minecraft", "diamond_shovel"), Items.DIAMOND_SHOVEL);
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.diamondShovel);
|
||||
public static final ScreenHandlerType<ContainerHeldItem> PRINTOUT = register("printout",
|
||||
ContainerData.toType(HeldItemContainerData::new,
|
||||
ContainerHeldItem::createPrintout));
|
||||
|
||||
ComputerCraft.TurtleUpgrades.diamondPickaxe = new TurtleTool(new Identifier("minecraft", "diamond_pickaxe"), Items.DIAMOND_PICKAXE);
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.diamondPickaxe);
|
||||
|
||||
ComputerCraft.TurtleUpgrades.diamondAxe = new TurtleAxe(new Identifier("minecraft", "diamond_axe"), Items.DIAMOND_AXE);
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.diamondAxe);
|
||||
|
||||
ComputerCraft.TurtleUpgrades.diamondHoe = new TurtleHoe(new Identifier("minecraft", "diamond_hoe"), Items.DIAMOND_HOE);
|
||||
ComputerCraftAPI.registerTurtleUpgrade(ComputerCraft.TurtleUpgrades.diamondHoe);
|
||||
}
|
||||
|
||||
private static void registerPocketUpgrades() {
|
||||
ComputerCraftAPI.registerPocketUpgrade(ComputerCraft.PocketUpgrades.wirelessModemNormal = new PocketModem(false));
|
||||
ComputerCraftAPI.registerPocketUpgrade(ComputerCraft.PocketUpgrades.wirelessModemAdvanced = new PocketModem(true));
|
||||
ComputerCraftAPI.registerPocketUpgrade(ComputerCraft.PocketUpgrades.speaker = new PocketSpeaker());
|
||||
}
|
||||
|
||||
public static void registerRecipes(MutableRegistry<RecipeSerializer<?>> registry) {
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "colour"), ColourableRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "computer_upgrade"), ComputerUpgradeRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "pocket_computer_upgrade"), PocketComputerUpgradeRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "disk"), DiskRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "printout"), PrintoutRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "turtle"), TurtleRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "turtle_upgrade"), TurtleUpgradeRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "impostor_shaped"), ImpostorRecipe.SERIALIZER);
|
||||
registry.add(new Identifier(ComputerCraft.MOD_ID, "impostor_shapeless"), ImpostorShapelessRecipe.SERIALIZER);
|
||||
public static final ScreenHandlerType<ContainerViewComputer> VIEW_COMPUTER = register("view_computer",
|
||||
ContainerData.toType(ViewComputerContainerData::new,
|
||||
ContainerViewComputer::new));
|
||||
}
|
||||
}
|
||||
|
@@ -26,9 +26,9 @@ import java.util.Random;
|
||||
|
||||
public abstract class BlockGeneric extends Block
|
||||
{
|
||||
private final RegistryObject<? extends BlockEntityType<? extends TileGeneric>> type;
|
||||
private final BlockEntityType<? extends TileGeneric> type;
|
||||
|
||||
public BlockGeneric( Settings settings, RegistryObject<? extends BlockEntityType<? extends TileGeneric>> type )
|
||||
public BlockGeneric( Settings settings, BlockEntityType<? extends TileGeneric> type )
|
||||
{
|
||||
super( settings );
|
||||
this.type = type;
|
||||
|
@@ -28,7 +28,7 @@ public class BlockComputer extends BlockComputerBase<TileComputer>
|
||||
public static final EnumProperty<ComputerState> STATE = EnumProperty.of( "state", ComputerState.class );
|
||||
public static final DirectionProperty FACING = Properties.HORIZONTAL_FACING;
|
||||
|
||||
public BlockComputer( Settings settings, ComputerFamily family, RegistryObject<? extends BlockEntityType<? extends TileComputer>> type )
|
||||
public BlockComputer( Settings settings, ComputerFamily family, BlockEntityType<? extends TileComputer> type )
|
||||
{
|
||||
super( settings, family, type );
|
||||
setDefaultState( getDefaultState()
|
||||
|
@@ -40,7 +40,7 @@ public abstract class BlockComputerBase<T extends TileComputerBase> extends Bloc
|
||||
|
||||
private final ComputerFamily family;
|
||||
|
||||
protected BlockComputerBase( Settings settings, ComputerFamily family, RegistryObject<? extends BlockEntityType<? extends T>> type )
|
||||
protected BlockComputerBase( Settings settings, ComputerFamily family, BlockEntityType<? extends T> type )
|
||||
{
|
||||
super( settings, type );
|
||||
this.family = family;
|
||||
|
@@ -7,8 +7,11 @@ package dan200.computercraft.shared.peripheral.modem.wired;
|
||||
|
||||
import dan200.computercraft.shared.Registry;
|
||||
import dan200.computercraft.shared.common.BlockGeneric;
|
||||
import dan200.computercraft.shared.peripheral.monitor.TileMonitor;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.state.StateManager;
|
||||
import net.minecraft.state.property.BooleanProperty;
|
||||
|
||||
@@ -17,9 +20,9 @@ public class BlockWiredModemFull extends BlockGeneric
|
||||
public static final BooleanProperty MODEM_ON = BooleanProperty.of( "modem" );
|
||||
public static final BooleanProperty PERIPHERAL_ON = BooleanProperty.of( "peripheral" );
|
||||
|
||||
public BlockWiredModemFull( Settings settings )
|
||||
public BlockWiredModemFull( Settings settings , BlockEntityType<? extends TileWiredModemFull> type )
|
||||
{
|
||||
super( settings, Registry.ModTiles.WIRED_MODEM_FULL );
|
||||
super( settings, type);
|
||||
setDefaultState( getStateManager().getDefaultState()
|
||||
.with( MODEM_ON, false )
|
||||
.with( PERIPHERAL_ON, false )
|
||||
|
@@ -5,8 +5,17 @@
|
||||
*/
|
||||
package dan200.computercraft.shared.peripheral.modem.wireless;
|
||||
|
||||
import static dan200.computercraft.shared.util.WaterloggableHelpers.WATERLOGGED;
|
||||
import static dan200.computercraft.shared.util.WaterloggableHelpers.getWaterloggedFluidState;
|
||||
import static dan200.computercraft.shared.util.WaterloggableHelpers.getWaterloggedStateForPlacement;
|
||||
import static dan200.computercraft.shared.util.WaterloggableHelpers.updateWaterloggedPostPlacement;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dan200.computercraft.shared.common.BlockGeneric;
|
||||
import dan200.computercraft.shared.peripheral.modem.ModemShapes;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.ShapeContext;
|
||||
@@ -24,19 +33,13 @@ import net.minecraft.util.shape.VoxelShape;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.WorldAccess;
|
||||
import net.minecraft.world.WorldView;
|
||||
import net.minecraftforge.fml.RegistryObject;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static dan200.computercraft.shared.util.WaterloggableHelpers.*;
|
||||
|
||||
public class BlockWirelessModem extends BlockGeneric implements Waterloggable
|
||||
{
|
||||
public static final DirectionProperty FACING = Properties.FACING;
|
||||
public static final BooleanProperty ON = BooleanProperty.of( "on" );
|
||||
|
||||
public BlockWirelessModem( Settings settings, RegistryObject<? extends BlockEntityType<? extends TileWirelessModem>> type )
|
||||
public BlockWirelessModem( Settings settings, BlockEntityType<? extends TileWirelessModem> type )
|
||||
{
|
||||
super( settings, type );
|
||||
setDefaultState( getStateManager().getDefaultState()
|
||||
|
@@ -34,7 +34,7 @@ public class BlockMonitor extends BlockGeneric
|
||||
|
||||
static final EnumProperty<MonitorEdgeState> STATE = EnumProperty.of( "state", MonitorEdgeState.class );
|
||||
|
||||
public BlockMonitor( Settings settings, RegistryObject<? extends BlockEntityType<? extends TileMonitor>> type )
|
||||
public BlockMonitor( Settings settings, BlockEntityType<? extends TileMonitor> type )
|
||||
{
|
||||
super( settings, type );
|
||||
// TODO: Test underwater - do we need isSolid at all?
|
||||
|
@@ -26,7 +26,7 @@ public class ContainerPrinter extends ScreenHandler
|
||||
|
||||
private ContainerPrinter( int id, PlayerInventory player, Inventory inventory, PropertyDelegate properties )
|
||||
{
|
||||
super( Registry.ModContainers.PRINTER.get(), id );
|
||||
super( Registry.ModContainers.PRINTER, id );
|
||||
this.properties = properties;
|
||||
this.inventory = inventory;
|
||||
|
||||
|
@@ -56,7 +56,7 @@ public class BlockTurtle extends BlockComputerBase<TileTurtle> implements Waterl
|
||||
0.875, 0.875, 0.875
|
||||
);
|
||||
|
||||
public BlockTurtle( Settings settings, ComputerFamily family, RegistryObject<? extends BlockEntityType<? extends TileTurtle>> type )
|
||||
public BlockTurtle( Settings settings, ComputerFamily family, BlockEntityType<? extends TileTurtle> type )
|
||||
{
|
||||
super( settings, family, type );
|
||||
setDefaultState( getStateManager().getDefaultState()
|
||||
|
@@ -7,6 +7,7 @@ package dan200.computercraft.shared.turtle.core;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import dan200.computercraft.ComputerCraft;
|
||||
import dan200.computercraft.api.turtle.FakePlayer;
|
||||
import dan200.computercraft.api.turtle.ITurtleAccess;
|
||||
import dan200.computercraft.shared.Registry;
|
||||
import dan200.computercraft.shared.util.FakeNetHandler;
|
||||
|
@@ -14,21 +14,21 @@ import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* A {@link TileEntityType} whose supplier uses itself as an argument.
|
||||
* A {@link BlockEntityType} whose supplier uses itself as an argument.
|
||||
*
|
||||
* @param <T> The type of the produced tile entity.
|
||||
*/
|
||||
public final class FixedPointTileEntityType<T extends BlockEntity> extends BlockEntityType<T>
|
||||
{
|
||||
private final Supplier<? extends Block> block;
|
||||
private final Block block;
|
||||
|
||||
private FixedPointTileEntityType( Supplier<? extends Block> block, Supplier<T> builder )
|
||||
private FixedPointTileEntityType( Block block, Supplier<T> builder )
|
||||
{
|
||||
super( builder, Collections.emptySet(), null );
|
||||
this.block = block;
|
||||
}
|
||||
|
||||
public static <T extends BlockEntity> FixedPointTileEntityType<T> create( Supplier<? extends Block> block, Function<BlockEntityType<T>, T> builder )
|
||||
public static <T extends BlockEntity> FixedPointTileEntityType<T> create( Block block, Function<BlockEntityType<T>, T> builder )
|
||||
{
|
||||
return new FixedPointSupplier<>( block, builder ).factory;
|
||||
}
|
||||
@@ -36,7 +36,7 @@ public final class FixedPointTileEntityType<T extends BlockEntity> extends Block
|
||||
@Override
|
||||
public boolean supports( @Nonnull Block block )
|
||||
{
|
||||
return block == this.block.get();
|
||||
return block == this.block;
|
||||
}
|
||||
|
||||
private static final class FixedPointSupplier<T extends BlockEntity> implements Supplier<T>
|
||||
@@ -44,7 +44,7 @@ public final class FixedPointTileEntityType<T extends BlockEntity> extends Block
|
||||
final FixedPointTileEntityType<T> factory;
|
||||
private final Function<BlockEntityType<T>, T> builder;
|
||||
|
||||
private FixedPointSupplier( Supplier<? extends Block> block, Function<BlockEntityType<T>, T> builder )
|
||||
private FixedPointSupplier( Block block, Function<BlockEntityType<T>, T> builder )
|
||||
{
|
||||
factory = new FixedPointTileEntityType<>( block, this );
|
||||
this.builder = builder;
|
||||
|
@@ -10,3 +10,5 @@ accessible method net/minecraft/client/render/item/HeldItemRenderer getMapAngle
|
||||
accessible method net/minecraft/client/texture/TextureManager bindTextureInner (Lnet/minecraft/util/Identifier;)V
|
||||
accessible field net/minecraft/entity/Entity pos Lnet/minecraft/util/math/Vec3d;
|
||||
extendable method net/minecraft/entity/Entity getCameraPosVec (F)Lnet/minecraft/util/math/Vec3d;
|
||||
accessible method net/minecraft/screen/ScreenHandlerType <init> (Lnet/minecraft/screen/ScreenHandlerType$Factory;)V
|
||||
accessible class net/minecraft/screen/ScreenHandlerType$Factory
|
||||
|
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"required": true,
|
||||
"package": "dan200.computercraft.shared.mixin",
|
||||
"compatibilityLevel": "JAVA_8",
|
||||
"mixins": [
|
||||
"MixinFirstPersonRenderer",
|
||||
"MixinItemFrameEntityRenderer",
|
||||
"MixinMinecraftGame",
|
||||
"MixinScreen",
|
||||
"MixinWorldRenderer"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"required": true,
|
||||
"package": "dan200.computercraft.shared.mixin",
|
||||
"compatibilityLevel": "JAVA_8",
|
||||
"mixins": [
|
||||
"MixinBlock",
|
||||
"MixinEntity",
|
||||
"MixinServerWorld",
|
||||
"MixinWorld"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user