From f90500fdd4456e497c18b3629878a5e5647bba3e Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Sat, 28 Jan 2023 08:49:14 +0300 Subject: [PATCH] All of time and space --- build.gradle | 3 ++ .../cctutorial/cctutorial/CCPeripheral.java | 33 +++++++++++-------- .../cctutorial/cctutorial/CCTileEntity.java | 3 ++ .../cctutorial/cctutorial/Registration.java | 4 +-- .../blockstates/digital_tardim_interface.json | 7 ++++ .../assets/cctutorial/lang/en_uk.json | 3 ++ .../assets/cctutorial/lang/en_us.json | 3 ++ .../resources/assets/cctutorial/lang/rpr.json | 3 ++ .../block/digital_tardim_interface.json | 6 ++++ .../models/item/digital_tardim_interface.json | 3 ++ 10 files changed, 52 insertions(+), 16 deletions(-) create mode 100644 src/main/resources/assets/cctutorial/blockstates/digital_tardim_interface.json create mode 100644 src/main/resources/assets/cctutorial/lang/en_uk.json create mode 100644 src/main/resources/assets/cctutorial/lang/en_us.json create mode 100644 src/main/resources/assets/cctutorial/lang/rpr.json create mode 100644 src/main/resources/assets/cctutorial/models/block/digital_tardim_interface.json create mode 100644 src/main/resources/assets/cctutorial/models/item/digital_tardim_interface.json diff --git a/build.gradle b/build.gradle index 7e3030f..f310d32 100644 --- a/build.gradle +++ b/build.gradle @@ -90,6 +90,9 @@ dependencies { // The userdev artifact is a special name and will get all sorts of transformations applied to it. minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}" + + implementation files("/home/andrew71/.local/share/multimc/instances/TardimInControl/.minecraft/mods/tardim-1.1.5.jar") + implementation fg.deobf("org.squiddev:cc-tweaked-1.19.1:${cc_version}") } diff --git a/src/main/java/de/srendi/cctutorial/cctutorial/CCPeripheral.java b/src/main/java/de/srendi/cctutorial/cctutorial/CCPeripheral.java index 13e73f0..d90f78f 100644 --- a/src/main/java/de/srendi/cctutorial/cctutorial/CCPeripheral.java +++ b/src/main/java/de/srendi/cctutorial/cctutorial/CCPeripheral.java @@ -6,6 +6,9 @@ import dan200.computercraft.api.peripheral.IPeripheral; import net.minecraft.network.chat.Component; import net.minecraftforge.server.ServerLifecycleHooks; +import com.swdteam.tardim.TardimData; +import com.swdteam.tardim.TardimManager; + import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.ArrayList; @@ -72,26 +75,28 @@ public class CCPeripheral implements IPeripheral { return tileEntity; } + + public TardimData getTardimData() { + return TardimManager.getFromPos(getTileEntity().getPos()); + } + /** * To register functions for our block, wee need to create final methods with the {@link LuaFunction} annotation * This function will send a message to every player on the Server */ - @LuaFunction - public final void sendMessage(String message) { - // Used to get the current server and all online players. - ServerLifecycleHooks.getCurrentServer().getPlayerList().getPlayers().forEach(player -> { - // Now, send the message - // To send a message, we need a Component(In this case a literal text component). - player.sendSystemMessage(Component.literal(message)); - }); - } - /** - * Because we want to access the world, we need to run this function on the main thread. - */ @LuaFunction(mainThread = true) - public final boolean isRaining() { - return getTileEntity().getLevel().getRainLevel(0) > 0; + public final double get_fuel() { + return getTardimData().getFuel(); } + @LuaFunction(mainThread = true) + public final boolean is_locked() { + return getTardimData().isLocked(); + } + + @LuaFunction(mainThread = true) + public final void set_locked(boolean locked) { + getTardimData().setLocked(locked); + } } diff --git a/src/main/java/de/srendi/cctutorial/cctutorial/CCTileEntity.java b/src/main/java/de/srendi/cctutorial/cctutorial/CCTileEntity.java index a224ba7..95bf197 100644 --- a/src/main/java/de/srendi/cctutorial/cctutorial/CCTileEntity.java +++ b/src/main/java/de/srendi/cctutorial/cctutorial/CCTileEntity.java @@ -22,6 +22,9 @@ public class CCTileEntity extends BlockEntity { */ protected CCPeripheral peripheral = new CCPeripheral(this); private LazyOptional peripheralCap; + public BlockPos getPos() { + return this.worldPosition; + } /** * When a computer modem tries to wrap our block, the modem will call getCapability to receive our peripheral. diff --git a/src/main/java/de/srendi/cctutorial/cctutorial/Registration.java b/src/main/java/de/srendi/cctutorial/cctutorial/Registration.java index 7029325..d323c89 100644 --- a/src/main/java/de/srendi/cctutorial/cctutorial/Registration.java +++ b/src/main/java/de/srendi/cctutorial/cctutorial/Registration.java @@ -21,7 +21,7 @@ public class Registration { public static final DeferredRegister> BLOCK_ENTITIES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, CCtutorial.MODID); // Blocks - public static final RegistryObject CC_BLOCK = register("tutorial_block", CCBlock::new); + public static final RegistryObject CC_BLOCK = register("digital_tardim_interface", CCBlock::new); private static RegistryObject register(String name, Supplier block) { RegistryObject registryObject = BLOCKS.register(name, block); @@ -30,7 +30,7 @@ public class Registration { } // Tile Entities - public static final RegistryObject> CC_TILEENTITY = Registration.BLOCK_ENTITIES.register("tutorial_block", () -> new BlockEntityType<>(CCTileEntity::new, Sets.newHashSet(CC_BLOCK.get()), null)); + public static final RegistryObject> CC_TILEENTITY = Registration.BLOCK_ENTITIES.register("digital_tardim_interface", () -> new BlockEntityType<>(CCTileEntity::new, Sets.newHashSet(CC_BLOCK.get()), null)); // Register our stuff public static void register() { diff --git a/src/main/resources/assets/cctutorial/blockstates/digital_tardim_interface.json b/src/main/resources/assets/cctutorial/blockstates/digital_tardim_interface.json new file mode 100644 index 0000000..c8dc74e --- /dev/null +++ b/src/main/resources/assets/cctutorial/blockstates/digital_tardim_interface.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "cctutorial:block/digital_tardim_interface" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/cctutorial/lang/en_uk.json b/src/main/resources/assets/cctutorial/lang/en_uk.json new file mode 100644 index 0000000..9dd28c0 --- /dev/null +++ b/src/main/resources/assets/cctutorial/lang/en_uk.json @@ -0,0 +1,3 @@ +{ + "block.cctutorial.digital_tardim_interface": "Digital TARDIM Interface" +} \ No newline at end of file diff --git a/src/main/resources/assets/cctutorial/lang/en_us.json b/src/main/resources/assets/cctutorial/lang/en_us.json new file mode 100644 index 0000000..9dd28c0 --- /dev/null +++ b/src/main/resources/assets/cctutorial/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "block.cctutorial.digital_tardim_interface": "Digital TARDIM Interface" +} \ No newline at end of file diff --git a/src/main/resources/assets/cctutorial/lang/rpr.json b/src/main/resources/assets/cctutorial/lang/rpr.json new file mode 100644 index 0000000..ceea164 --- /dev/null +++ b/src/main/resources/assets/cctutorial/lang/rpr.json @@ -0,0 +1,3 @@ +{ + "block.cctutorial.digital_tardim_interface": "Циферный Интерфейсъ Хрономашины" +} \ No newline at end of file diff --git a/src/main/resources/assets/cctutorial/models/block/digital_tardim_interface.json b/src/main/resources/assets/cctutorial/models/block/digital_tardim_interface.json new file mode 100644 index 0000000..6a4d12c --- /dev/null +++ b/src/main/resources/assets/cctutorial/models/block/digital_tardim_interface.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "cctutorial:blocks/digital_tardim_interface" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/cctutorial/models/item/digital_tardim_interface.json b/src/main/resources/assets/cctutorial/models/item/digital_tardim_interface.json new file mode 100644 index 0000000..4a0226c --- /dev/null +++ b/src/main/resources/assets/cctutorial/models/item/digital_tardim_interface.json @@ -0,0 +1,3 @@ +{ + "parent": "cctutorial:block/digital_tardim_interface" +} \ No newline at end of file