Make ComputerCraft optional
This commit is contained in:
parent
74226ab6bd
commit
9a23bc0752
8 changed files with 62 additions and 25 deletions
|
@ -21,7 +21,10 @@ dependencies {
|
||||||
modImplementation "io.netty:netty-codec-http:4.1.77.Final"
|
modImplementation "io.netty:netty-codec-http:4.1.77.Final"
|
||||||
|
|
||||||
modImplementation "curse.maven:tardim-531315:4453924"
|
modImplementation "curse.maven:tardim-531315:4453924"
|
||||||
modImplementation "curse.maven:cc-restitched-462672:3908334"
|
//modImplementation "curse.maven:cc-restitched-462672:3908334"
|
||||||
|
//.. maybe?
|
||||||
|
modApi "curse.maven:cc-restitched-462672:3908334"
|
||||||
|
modCompileOnly "curse.maven:cc-restitched-462672:3908334"
|
||||||
}
|
}
|
||||||
|
|
||||||
loom {
|
loom {
|
||||||
|
|
|
@ -6,9 +6,9 @@ import com.swdteam.tardim.common.block.BlockTardimRoof;
|
||||||
import com.swdteam.tardim.common.init.TardimRegistry;
|
import com.swdteam.tardim.common.init.TardimRegistry;
|
||||||
import com.swdteam.tardim.tileentity.TileEntityTardim;
|
import com.swdteam.tardim.tileentity.TileEntityTardim;
|
||||||
|
|
||||||
import dan200.computercraft.api.ComputerCraftAPI;
|
|
||||||
|
|
||||||
import com.mojang.datafixers.types.Type;
|
import com.mojang.datafixers.types.Type;
|
||||||
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.Util;
|
import net.minecraft.Util;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -31,13 +31,11 @@ import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityT
|
||||||
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
|
|
||||||
import su.a71.tardim_ic.tardim_ic.digital_interface.DigitalInterfaceBlock;
|
|
||||||
import su.a71.tardim_ic.tardim_ic.digital_interface.DigitalInterfacePeripheralProvider;
|
|
||||||
import su.a71.tardim_ic.tardim_ic.digital_interface.DigitalInterfaceTileEntity;
|
|
||||||
import su.a71.tardim_ic.tardim_ic.redstone_input.RedstoneInputBlock;
|
import su.a71.tardim_ic.tardim_ic.redstone_input.RedstoneInputBlock;
|
||||||
import su.a71.tardim_ic.tardim_ic.redstone_input.RedstoneInputTileEntity;
|
import su.a71.tardim_ic.tardim_ic.redstone_input.RedstoneInputTileEntity;
|
||||||
import su.a71.tardim_ic.tardim_ic.Constants;
|
import su.a71.tardim_ic.tardim_ic.Constants;
|
||||||
import su.a71.tardim_ic.tardim_ic.registration.CommandInit;
|
import su.a71.tardim_ic.tardim_ic.registration.CommandInit;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.registration.ComputerCraftCompat;
|
||||||
import su.a71.tardim_ic.tardim_ic.soviet_chronobox.SovietChronoboxTileEntity;
|
import su.a71.tardim_ic.tardim_ic.soviet_chronobox.SovietChronoboxTileEntity;
|
||||||
|
|
||||||
public class Registration {
|
public class Registration {
|
||||||
|
@ -47,7 +45,6 @@ public class Registration {
|
||||||
public static Block FLOOR_SOVIET_CHRONOBOX;
|
public static Block FLOOR_SOVIET_CHRONOBOX;
|
||||||
public static BlockEntityType<TileEntityTardim> TILE_SOVIET_CHRONOBOX;
|
public static BlockEntityType<TileEntityTardim> TILE_SOVIET_CHRONOBOX;
|
||||||
|
|
||||||
public static final Block DIGITAL_TARDIM_INTERFACE = new DigitalInterfaceBlock();
|
|
||||||
public static final Block REDSTONE_TARDIM_INPUT = new RedstoneInputBlock();
|
public static final Block REDSTONE_TARDIM_INPUT = new RedstoneInputBlock();
|
||||||
|
|
||||||
// Tile Entities
|
// Tile Entities
|
||||||
|
@ -57,15 +54,9 @@ public class Registration {
|
||||||
FabricBlockEntityTypeBuilder.create(RedstoneInputTileEntity::new, REDSTONE_TARDIM_INPUT).build()
|
FabricBlockEntityTypeBuilder.create(RedstoneInputTileEntity::new, REDSTONE_TARDIM_INPUT).build()
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final BlockEntityType<DigitalInterfaceTileEntity> DIGITAL_TARDIM_INTERFACE_TILEENTITY = Registry.register(
|
public static final CreativeModeTab TARDIM_IC_TAB = FabricItemGroupBuilder
|
||||||
Registry.BLOCK_ENTITY_TYPE,
|
|
||||||
new ResourceLocation("tardim_ic", "digital_tardim_interface"),
|
|
||||||
FabricBlockEntityTypeBuilder.create(DigitalInterfaceTileEntity::new, DIGITAL_TARDIM_INTERFACE).build()
|
|
||||||
);
|
|
||||||
|
|
||||||
private static final CreativeModeTab TARDIM_IC_TAB = FabricItemGroupBuilder
|
|
||||||
.create(new ResourceLocation("tardim_ic"))
|
.create(new ResourceLocation("tardim_ic"))
|
||||||
.icon(() -> new ItemStack(DIGITAL_TARDIM_INTERFACE))
|
.icon(() -> new ItemStack(REDSTONE_TARDIM_INPUT))
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// Cloister bell
|
// Cloister bell
|
||||||
|
@ -81,12 +72,13 @@ public class Registration {
|
||||||
|
|
||||||
// Register our stuff
|
// Register our stuff
|
||||||
public static void register() {
|
public static void register() {
|
||||||
|
if (FabricLoader.getInstance().isModLoaded("computercraft")) {
|
||||||
|
ComputerCraftCompat.register();
|
||||||
|
}
|
||||||
|
|
||||||
Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "redstone_tardim_input"), REDSTONE_TARDIM_INPUT);
|
Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "redstone_tardim_input"), REDSTONE_TARDIM_INPUT);
|
||||||
Registry.register(Registry.ITEM, new ResourceLocation(Constants.MOD_ID, "redstone_tardim_input"), new BlockItem(REDSTONE_TARDIM_INPUT, new FabricItemSettings().tab(TARDIM_IC_TAB)));
|
Registry.register(Registry.ITEM, new ResourceLocation(Constants.MOD_ID, "redstone_tardim_input"), new BlockItem(REDSTONE_TARDIM_INPUT, new FabricItemSettings().tab(TARDIM_IC_TAB)));
|
||||||
|
|
||||||
Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "digital_tardim_interface"), DIGITAL_TARDIM_INTERFACE);
|
|
||||||
Registry.register(Registry.ITEM, new ResourceLocation(Constants.MOD_ID, "digital_tardim_interface"), new BlockItem(DIGITAL_TARDIM_INTERFACE, new FabricItemSettings().tab(TARDIM_IC_TAB)));
|
|
||||||
|
|
||||||
Registry.register(Registry.SOUND_EVENT, CLOISTER_SOUND, CLOISTER_SOUND_EVENT);
|
Registry.register(Registry.SOUND_EVENT, CLOISTER_SOUND, CLOISTER_SOUND_EVENT);
|
||||||
|
|
||||||
FLOOR_SOVIET_CHRONOBOX = Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "tardim_floor_soviet"), new BlockTardimFloor(FabricBlockSettings.of(Material.WOOD).sounds(SoundType.WOOD).strength(-1.0F, 3600000.0F).noLootTable().noOcclusion(), new BlockTardimFloor.TardimTileData() {
|
FLOOR_SOVIET_CHRONOBOX = Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "tardim_floor_soviet"), new BlockTardimFloor(FabricBlockSettings.of(Material.WOOD).sounds(SoundType.WOOD).strength(-1.0F, 3600000.0F).noLootTable().noOcclusion(), new BlockTardimFloor.TardimTileData() {
|
||||||
|
@ -105,7 +97,6 @@ public class Registration {
|
||||||
ROOF_SOVIET_CHRONOBOX = Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "tardim_roof_soviet"), new BlockTardimRoof(FabricBlockSettings.of(Material.WOOD).sounds(SoundType.WOOD).strength(-1.0F, 3600000.0F).noLootTable().noOcclusion()));
|
ROOF_SOVIET_CHRONOBOX = Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "tardim_roof_soviet"), new BlockTardimRoof(FabricBlockSettings.of(Material.WOOD).sounds(SoundType.WOOD).strength(-1.0F, 3600000.0F).noLootTable().noOcclusion()));
|
||||||
TARDIM_TYPE_SOVIET = new TardimRegistry.TardimBuilder(new ResourceLocation(Constants.MOD_ID, "tardim_soviet_chronobox"), "TARDIM Soviet Chronobox", ROOF_SOVIET_CHRONOBOX, DOOR_SOVIET_CHRONOBOX, FLOOR_SOVIET_CHRONOBOX);
|
TARDIM_TYPE_SOVIET = new TardimRegistry.TardimBuilder(new ResourceLocation(Constants.MOD_ID, "tardim_soviet_chronobox"), "TARDIM Soviet Chronobox", ROOF_SOVIET_CHRONOBOX, DOOR_SOVIET_CHRONOBOX, FLOOR_SOVIET_CHRONOBOX);
|
||||||
|
|
||||||
ComputerCraftAPI.registerPeripheralProvider(new DigitalInterfacePeripheralProvider());
|
|
||||||
CommandInit.init();
|
CommandInit.init();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -8,6 +8,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.material.Material;
|
import net.minecraft.world.level.material.Material;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import su.a71.tardim_ic.tardim_ic.Registration;
|
import su.a71.tardim_ic.tardim_ic.Registration;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.registration.ComputerCraftCompat;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
|
@ -21,6 +22,6 @@ public class DigitalInterfaceBlock extends Block implements EntityBlock {
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState state) {
|
public BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState state) {
|
||||||
return Registration.DIGITAL_TARDIM_INTERFACE_TILEENTITY.create(pos, state);
|
return ComputerCraftCompat.DIGITAL_TARDIM_INTERFACE_TILEENTITY.create(pos, state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
|
||||||
import su.a71.tardim_ic.tardim_ic.Registration;
|
import su.a71.tardim_ic.tardim_ic.Registration;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.registration.ComputerCraftCompat;
|
||||||
|
|
||||||
|
|
||||||
public class DigitalInterfaceTileEntity extends BlockEntity {//implements IDigitalInterfaceEntity {
|
public class DigitalInterfaceTileEntity extends BlockEntity {//implements IDigitalInterfaceEntity {
|
||||||
|
@ -15,7 +16,7 @@ public class DigitalInterfaceTileEntity extends BlockEntity {//implements IDigit
|
||||||
|
|
||||||
|
|
||||||
public DigitalInterfaceTileEntity(BlockPos pos, BlockState state) {
|
public DigitalInterfaceTileEntity(BlockPos pos, BlockState state) {
|
||||||
super(Registration.DIGITAL_TARDIM_INTERFACE_TILEENTITY, pos, state);
|
super(ComputerCraftCompat.DIGITAL_TARDIM_INTERFACE_TILEENTITY, pos, state);
|
||||||
//this.data = getTardimDataInitial();
|
//this.data = getTardimDataInitial();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,9 @@ package su.a71.tardim_ic.tardim_ic.registration;
|
||||||
import com.swdteam.tardim.common.init.CommandManager;
|
import com.swdteam.tardim.common.init.CommandManager;
|
||||||
|
|
||||||
import su.a71.tardim_ic.tardim_ic.command.CommandCloisterBell;
|
import su.a71.tardim_ic.tardim_ic.command.CommandCloisterBell;
|
||||||
import su.a71.tardim_ic.tardim_ic.command.CommandModemTransmit;
|
|
||||||
|
|
||||||
public class CommandInit {
|
public class CommandInit {
|
||||||
public static void init() {
|
public static void init() {
|
||||||
CommandManager.register(new CommandModemTransmit());
|
|
||||||
CommandManager.register(new CommandCloisterBell());
|
CommandManager.register(new CommandCloisterBell());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package su.a71.tardim_ic.tardim_ic.registration;
|
||||||
|
|
||||||
|
import com.swdteam.tardim.common.init.CommandManager;
|
||||||
|
import dan200.computercraft.api.ComputerCraftAPI;
|
||||||
|
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||||
|
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
|
||||||
|
import net.minecraft.core.Registry;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.Constants;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.Registration;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.command.CommandModemTransmit;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.digital_interface.DigitalInterfaceBlock;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.digital_interface.DigitalInterfacePeripheralProvider;
|
||||||
|
import su.a71.tardim_ic.tardim_ic.digital_interface.DigitalInterfaceTileEntity;
|
||||||
|
|
||||||
|
public class ComputerCraftCompat {
|
||||||
|
public static final Block DIGITAL_TARDIM_INTERFACE = new DigitalInterfaceBlock();
|
||||||
|
|
||||||
|
public static final BlockEntityType<DigitalInterfaceTileEntity> DIGITAL_TARDIM_INTERFACE_TILEENTITY = Registry.register(
|
||||||
|
Registry.BLOCK_ENTITY_TYPE,
|
||||||
|
new ResourceLocation("tardim_ic", "digital_tardim_interface"),
|
||||||
|
FabricBlockEntityTypeBuilder.create(DigitalInterfaceTileEntity::new, DIGITAL_TARDIM_INTERFACE).build()
|
||||||
|
);
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
Constants.LOG.info("Loaded ComputerCraft compatibility!");
|
||||||
|
Registry.register(Registry.BLOCK, new ResourceLocation(Constants.MOD_ID, "digital_tardim_interface"), DIGITAL_TARDIM_INTERFACE);
|
||||||
|
Registry.register(Registry.ITEM, new ResourceLocation(Constants.MOD_ID, "digital_tardim_interface"), new BlockItem(DIGITAL_TARDIM_INTERFACE, new FabricItemSettings().tab(Registration.TARDIM_IC_TAB)));
|
||||||
|
|
||||||
|
CommandManager.register(new CommandModemTransmit());
|
||||||
|
ComputerCraftAPI.registerPeripheralProvider(new DigitalInterfacePeripheralProvider());
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
package su.a71.tardim_ic.tardim_ic.registration;
|
||||||
|
|
||||||
|
public class Exteriors {
|
||||||
|
}
|
|
@ -27,7 +27,10 @@
|
||||||
"fabric": "*",
|
"fabric": "*",
|
||||||
"minecraft": "1.19.x",
|
"minecraft": "1.19.x",
|
||||||
"java": ">=17",
|
"java": ">=17",
|
||||||
"tardim": ">=1.2.2",
|
"tardim": ">=1.2.2"
|
||||||
|
},
|
||||||
|
|
||||||
|
"suggests": {
|
||||||
"computercraft": ">=1.101.0"
|
"computercraft": ">=1.101.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue