connectedComputers = new ArrayList<>(); // List of computers connected to the peripheral
+ private final DigitalInterfaceTileEntity tileEntity; // Peripheral's BlockEntity, used for accessing coordinates
+
/**
* @param tileEntity the tile entity of this peripheral
* @hidden
*/
- public DigitalInterfacePeripheral(FakeTardimPeripheralTileEntity tileEntity) {
- super(tileEntity, "digital_tardim_interface", (DigitalInterfaceBlock) tileEntity.getBlock());
+ public DigitalInterfacePeripheral(DigitalInterfaceTileEntity tileEntity) {
+ this.tileEntity = tileEntity;
+ }
+
+ /** Setting name for the peripheral. A computer will see it as "digital_tardim_interface_n"
+ * @hidden
+ */
+ @Nonnull
+ @Override
+ public String getType() { return "digital_tardim_interface"; }
+
+ /** Apparently CC uses this to check if the peripheral in front of a modem is this one
+ * @hidden
+ * @param iPeripheral The peripheral to compare against. This may be {@code null}.
+ * @return {@code true} if the peripheral is the same as this one.
+ */
+ @Override
+ public boolean equals(@Nullable IPeripheral iPeripheral) { return this == iPeripheral; }
+
+ /** Called when a computer disconnects from the peripheral
+ * @hidden
+ * @param computer The interface to the computer that is being detached. Remember that multiple computers can be
+ * attached to a peripheral at once.
+ */
+ @Override
+ public void detach(@Nonnull IComputerAccess computer) { connectedComputers.remove(computer); }
+
+ /** Called when a computer connects to the peripheral
+ * @hidden
+ * @param computer The interface to the computer that is being attached. Remember that multiple computers can be
+ * attached to a peripheral at once.
+ */
+ @Override
+ public void attach(@Nonnull IComputerAccess computer) { connectedComputers.add(computer); }
+
+ /**
+ * I *think* I use this to get peripheral's world position
+ * @hidden
+ * @return
+ */
+ public DigitalInterfaceTileEntity getTileEntity() {
+ return tileEntity;
+ }
+
+
+ /**
+ * Get TARDIM's data, which we need for *every* function
+ *
+ * We can't do a simple
+ * TardimManager.getFromPos(getTileEntity().getPos())
+ *
+ * because if someone attempts to call a method outside a TARDIM, this would create a new TARDIM/Point to the one with ID of 0 (Due to the way TardimSaveHandler.loadTardisData works).
+ * Which is obviously not what we want.
+ *
+ * So instead we use this, and get the ability to give user a LuaException if they think that fiddling with time is funny
+ * This is mostly a copy of getIDForXZ function with some added checks
+ *
+ * @return TardimData of the TARDIM that the peripheral is in
+ * @throws LuaException if the peripheral is not in a TARDIM
+ * @hidden
+ */
+ public TardimData getTardimData() throws LuaException {
+ int X = getTileEntity().getPos().getX(), Z = getTileEntity().getPos().getZ();
+
+ int index = 0;
+ int x = 0;
+ int y = 0;
+ int dx = 0;
+ int dy = 1;
+ int segment_length = 1;
+ int segment_passed = 0;
+ boolean found = false;
+ long timecheck = System.currentTimeMillis();
+
+ while(true) {
+ if (System.currentTimeMillis() - timecheck > 10000L) {
+ System.out.println("Finding ID from XZ Coordinates is taking too long!");
+ break;
+ }
+
+ if (X >= x * TardimManager.INTERIOR_BOUNDS
+ && X <= TardimManager.INTERIOR_BOUNDS + x * TardimManager.INTERIOR_BOUNDS
+ && Z >= y * TardimManager.INTERIOR_BOUNDS
+ && Z <= TardimManager.INTERIOR_BOUNDS + y * TardimManager.INTERIOR_BOUNDS) {
+ found = true;
+ break;
+ }
+
+ x += dx;
+ y += dy;
+ if (++segment_passed == segment_length) {
+ segment_passed = 0;
+ int buffer = dy;
+ dy = -dx;
+ dx = buffer;
+ if (buffer == 0) {
+ ++segment_length;
+ }
+ }
+
+ ++index;
+ }
+
+ // We really don't want to access a ghost TARDIM, do we?
+ if (!found) {
+ throw new LuaException("Peripheral is not inside a TARDIM");
+ }
+ TardimData T = TardimManager.getTardim(index);
+ if (T.getCurrentLocation() == null || T.getOwnerName() == null) {
+ throw new LuaException("Peripheral is not inside a TARDIM");
+ }
+
+ return T;
}
// Peripheral methods ===============================================================
@@ -151,7 +268,7 @@ public class DigitalInterfacePeripheral extends TardimPeripheral companions = new HashMap<>();
- for (int i = 0; i < data.getCompanions().size(); i++) {
- companions.put(i + 1, data.getCompanions().get(i).getUsername());
- }
- return new ObjectLuaTable(companions);
- }
-
- /**
- * CommandTravel.isValidPath is for some reason private on Fabric so we reverse engineer it :/
- * SWDteam pls fix
- * @hidden
- */
- private boolean isValidPathTemp(String s) {
- for(int i = 0; i < s.length(); ++i) {
- if (!CommandTravel.validPathChar(s.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * DimensionMapReloadListener.toTitleCase is unavailable so we reverse engineer it! :D
- * Fabric... pls fix?
- * @hidden
- */
- private String toTitleCase(String input) {
- StringBuilder titleCase = new StringBuilder(input.length());
- boolean nextTitleCase = true;
- char[] var3 = input.toCharArray();
- int var4 = var3.length;
-
- for(int var5 = 0; var5 < var4; ++var5) {
- char c = var3[var5];
- if (Character.isSpaceChar(c)) {
- nextTitleCase = true;
- } else if (nextTitleCase) {
- c = Character.toTitleCase(c);
- nextTitleCase = false;
- }
-
- titleCase.append(c);
- }
-
- return titleCase.toString();
+ for (int i = 0; i < data.getCompanions().size(); i++) {
+ companions.put(i + 1, data.getCompanions().get(i).getUsername());
+ }
+ return new ObjectLuaTable(companions);
}
/**
@@ -256,20 +333,20 @@ public class DigitalInterfacePeripheral extends TardimPeripheral dim = ResourceKey.create(Registries.DIMENSION, new ResourceLocation(dimension));
+ ResourceKey dim = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation(dimension));
if (data.getTravelLocation() == null) {
data.setTravelLocation(new Location(data.getCurrentLocation()));
}
@@ -300,10 +377,7 @@ public class DigitalInterfacePeripheral extends TardimPeripheral dim = player.getCommandSenderWorld().dimension();
+ BlockPos pos = player.blockPosition();
- ServerPlayer player = playerList.getPlayerByName(username);
- if (player == null) {
- throw new LuaException("Player not found");
- }
-
-// for (ItemStack armour : player.getArmorSlots()) {
-//// if (armour.is(PERSONAL_JAMMER)) {
-//// throw new LuaException("Player location jammed");
-//// };
-// // TODO: Re-add
-// }
-
- ResourceKey dim = player.getCommandSenderWorld().dimension();
- BlockPos pos = player.blockPosition();
-
- setDimension(dim.location().toString());
- setTravelLocation(pos.getX(), pos.getY(), pos.getZ());
+ setDimension(dim.location().toString());
+ setTravelLocation(pos.getX(), pos.getY(), pos.getZ());
}
/**
@@ -365,17 +427,13 @@ public class DigitalInterfacePeripheral extends TardimPeripheral players = new HashMap<>();
for (int i = 0; i < playerList.getPlayers().size(); i++) {
players.put(i + 1, playerList.getPlayers().get(i).getGameProfile().getName());
}
- return new ObjectLuaTable(players);
+ return new ObjectLuaTable(players);
}
/**
@@ -384,8 +442,8 @@ public class DigitalInterfacePeripheral extends TardimPeripheral {
return "north";
@@ -411,7 +469,7 @@ public class DigitalInterfacePeripheral extends TardimPeripheral data.getTravelLocation().setFacing(Direction.NORTH);
case "east" -> data.getTravelLocation().setFacing(Direction.EAST);
@@ -428,7 +486,7 @@ public class DigitalInterfacePeripheral extends TardimPeripheral location.addPosition(amount, 0, 0);
+ Location location = data.getTravelLocation();
+ switch (axis) {
+ case "x" -> location.addPosition(amount, 0, 0);
case "y" -> location.addPosition(0, amount, 0);
case "z" -> location.addPosition(0, 0, amount);
default -> throw new LuaException("Invalid axis");
- }
+ }
}
/**
@@ -474,48 +532,26 @@ public class DigitalInterfacePeripheral extends TardimPeripheral
@@ -523,18 +559,14 @@ public class DigitalInterfacePeripheral extends TardimPeripheral= fuel) {
level.getChunk(loc.getPos());
@@ -592,9 +624,8 @@ public class DigitalInterfacePeripheral extends TardimPeripheral biome = this.tileEntity.getLevel().getServer()
+ Optional biome = ServerLifecycleHooks.getCurrentServer()
.registryAccess()
- .registryOrThrow(Registries.BIOME)
+ .registryOrThrow(Registry.BIOME_REGISTRY)
.getOptional(new ResourceLocation(biome_str));
if (biome != null && biome.isPresent()) {
if (data.getTravelLocation() == null) {
data.setTravelLocation(new Location(data.getCurrentLocation()));
}
- ServerLevel level = this.tileEntity.getLevel().getServer().getLevel(data.getTravelLocation().getLevel());
+ ServerLevel level = ServerLifecycleHooks.getCurrentServer().getLevel(data.getTravelLocation().getLevel());
BlockPos blockpos = new BlockPos(
data.getTravelLocation().getPos().getX(),
level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, data.getTravelLocation().getPos()).getY(),
@@ -697,133 +724,4 @@ public class DigitalInterfacePeripheral extends TardimPeripheral skins = new HashMap<>();
-
- Iterator var5 = TardimRegistry.getRegistry().keySet().iterator();
- int i = 0;
- while(var5.hasNext()) {
- ResourceLocation builder = (ResourceLocation)var5.next();
- TardimRegistry.TardimBuilder b = TardimRegistry.getTardimBuilder(builder);
- skins.put(i + 1, b.getDisplayName());
- i++;
- }
-
- return new ObjectLuaTable(skins);
- }
-
- /**
- * Play cloister bell sound.
- */
- @LuaFunction(mainThread = true)
- public final void cloisterBell() throws LuaException {
- if (this.tileEntity.getLevel().isClientSide()) {
- return;
- }
- try {
- Level lvl = this.tileEntity.getLevel();
- if (!lvl.isClientSide) {
- lvl.playSound(
- null,
- this.tileEntity.getPos(),
- Registration.CLOISTER_BELL,
- SoundSource.BLOCKS,
- 1.5f,
- 1f
- );
- }
- } catch (Exception var9) {
- throw new LuaException("There was an error trying to play the sound");
- }
- }
-
- /**
- * Get a table with all registered biomes' names.
- * Useful for creating advanced navigation systems.
- * @return ObjectLuaTable with all biomes' technical names
- */
- @LuaFunction(mainThread = true)
- public final ObjectLuaTable getBiomes() throws LuaException {
- Map biomes = new HashMap<>();
- Registry biomeRegistry = tileEntity.getLevel().registryAccess().registryOrThrow(Registries.BIOME);
- Iterator biome_it = biomeRegistry.keySet().iterator();
- int i = 0;
- while (biome_it.hasNext()) {
- biomes.put(i + 1, biome_it.next().toString());
- i++;
- }
-
- return new ObjectLuaTable(biomes);
- }
-
- /**
- * Get a table with all registered dimensions' names.
- * Useful for creating advanced navigation systems.
- * @return ObjectLuaTable with all dimensions' technical names
- */
- @LuaFunction(mainThread = true)
- public final ObjectLuaTable getDimensions() throws LuaException {
- Iterator dim_it = this.tileEntity.getLevel().getServer().getAllLevels().iterator(); // TODO: Does this really work?
- Map dimensions = new HashMap<>();
- int i = 0;
- while (dim_it.hasNext()) {
- dimensions.put(i + 1, dim_it.next().dimension().location().toString());
- i++;
- }
- return new ObjectLuaTable(dimensions);
- }
}
diff --git a/src/main/java/su/a71/tardim_ic/tardim_ic/digital_interface/DigitalInterfaceTileEntity.java b/src/main/java/su/a71/tardim_ic/tardim_ic/digital_interface/DigitalInterfaceTileEntity.java
new file mode 100644
index 0000000..a598d83
--- /dev/null
+++ b/src/main/java/su/a71/tardim_ic/tardim_ic/digital_interface/DigitalInterfaceTileEntity.java
@@ -0,0 +1,45 @@
+package su.a71.tardim_ic.tardim_ic.digital_interface;
+
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraftforge.common.capabilities.Capability;
+import net.minecraftforge.common.util.LazyOptional;
+import org.jetbrains.annotations.NotNull;
+import su.a71.tardim_ic.tardim_ic.Registration;
+
+import dan200.computercraft.api.peripheral.IPeripheral;
+import static dan200.computercraft.shared.Capabilities.CAPABILITY_PERIPHERAL;
+
+public class DigitalInterfaceTileEntity extends BlockEntity {
+
+ public DigitalInterfaceTileEntity(BlockPos pos, BlockState state) {
+ super(Registration.DIGITAL_TARDIM_INTERFACE_TILEENTITY.get(), pos, state);
+ }
+
+ /**
+ * Our peripheral, we create a new peripheral for each new tile entity
+ */
+ protected DigitalInterfacePeripheral peripheral = new DigitalInterfacePeripheral(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.
+ * Then we just simply return a {@link LazyOptional} with our Peripheral
+ */
+ @Override
+ @NotNull
+ public LazyOptional getCapability(@NotNull Capability cap, Direction direction) {
+ if (cap == CAPABILITY_PERIPHERAL) {
+ if (peripheralCap == null) {
+ peripheralCap = LazyOptional.of(() -> peripheral);
+ }
+ return peripheralCap.cast();
+ }
+ return super.getCapability(cap, direction);
+ }
+}
diff --git a/forge/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputBlock.java b/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputBlock.java
similarity index 100%
rename from forge/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputBlock.java
rename to src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputBlock.java
diff --git a/forge/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputTileEntity.java b/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputTileEntity.java
similarity index 58%
rename from forge/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputTileEntity.java
rename to src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputTileEntity.java
index a89f18f..c0af4fc 100644
--- a/forge/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputTileEntity.java
+++ b/src/main/java/su/a71/tardim_ic/tardim_ic/redsone_input/RedstoneInputTileEntity.java
@@ -2,9 +2,18 @@ package su.a71.tardim_ic.tardim_ic.redsone_input;
import com.swdteam.tileentity.TileEntityBaseTardimPanel;
import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
+import net.minecraftforge.common.capabilities.Capability;
+import net.minecraftforge.common.util.LazyOptional;
+import org.jetbrains.annotations.NotNull;
+
+import com.swdteam.common.init.TRDTiles;
import su.a71.tardim_ic.tardim_ic.Registration;
+import com.swdteam.tileentity.TileEntityTardimScanner;
+import com.swdteam.common.block.BlockTardimScanner;
public class RedstoneInputTileEntity extends TileEntityBaseTardimPanel {
diff --git a/forge/src/main/java/su/a71/tardim_ic/tardim_ic/sonic/SonicProbe.java b/src/main/java/su/a71/tardim_ic/tardim_ic/sonic/SonicProbe.java
similarity index 100%
rename from forge/src/main/java/su/a71/tardim_ic/tardim_ic/sonic/SonicProbe.java
rename to src/main/java/su/a71/tardim_ic/tardim_ic/sonic/SonicProbe.java
diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml
new file mode 100644
index 0000000..8ca07d9
--- /dev/null
+++ b/src/main/resources/META-INF/mods.toml
@@ -0,0 +1,40 @@
+
+modLoader = "javafml" #mandatory
+loaderVersion = "[36,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
+license = "All rights reserved"
+[[mods]] #mandatory
+# The modid of the mod
+modId = "tardim_ic" #mandatory
+version = "0.8" #mandatory
+# A display name for the mod
+displayName = "TARDIM: In Control" #mandatory
+# The description text for the mod (multi line!) (#mandatory)
+description = '''
+ All of time and space, now automated. Control your TARDIM using ComputerCraft: Tweaked.
+'''
+# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
+[[dependencies.tardim_ic]] #optional
+# the modid of the dependency
+modId = "forge" #mandatory
+# Does this dependency have to exist - if not, ordering below must be specified
+mandatory = true #mandatory
+# The version range of the dependency
+versionRange = "[36,)" #mandatory
+# An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory
+ordering = "NONE"
+# Side this dependency is applied on - BOTH, CLIENT or SERVER
+side = "BOTH"
+# Here's another dependency
+[[dependencies.tardim_ic]]
+modId = "computercraft"
+mandatory = true
+versionRange = "1.95.3"
+ordering = "NONE"
+side = "BOTH"
+[[dependencies.tardim_ic]]
+modId = "minecraft"
+mandatory = true
+# This version range declares a minimum of the current minecraft version up to but not including the next major version
+versionRange = "1.16.5"
+ordering = "NONE"
+side = "BOTH"
diff --git a/common/src/main/resources/assets/tardim_ic/blockstates/digital_tardim_interface.json b/src/main/resources/assets/tardim_ic/blockstates/digital_tardim_interface.json
similarity index 100%
rename from common/src/main/resources/assets/tardim_ic/blockstates/digital_tardim_interface.json
rename to src/main/resources/assets/tardim_ic/blockstates/digital_tardim_interface.json
diff --git a/common/src/main/resources/assets/tardim_ic/blockstates/redstone_tardim_input.json b/src/main/resources/assets/tardim_ic/blockstates/redstone_tardim_input.json
similarity index 100%
rename from common/src/main/resources/assets/tardim_ic/blockstates/redstone_tardim_input.json
rename to src/main/resources/assets/tardim_ic/blockstates/redstone_tardim_input.json
diff --git a/common/src/main/resources/assets/tardim_ic/icon.png b/src/main/resources/assets/tardim_ic/icon.png
similarity index 100%
rename from common/src/main/resources/assets/tardim_ic/icon.png
rename to src/main/resources/assets/tardim_ic/icon.png
diff --git a/forge/src/main/resources/assets/tardim_ic/lang/en_uk.json b/src/main/resources/assets/tardim_ic/lang/en_uk.json
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/lang/en_uk.json
rename to src/main/resources/assets/tardim_ic/lang/en_uk.json
diff --git a/forge/src/main/resources/assets/tardim_ic/lang/en_us.json b/src/main/resources/assets/tardim_ic/lang/en_us.json
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/lang/en_us.json
rename to src/main/resources/assets/tardim_ic/lang/en_us.json
diff --git a/forge/src/main/resources/assets/tardim_ic/lang/rpr.json b/src/main/resources/assets/tardim_ic/lang/rpr.json
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/lang/rpr.json
rename to src/main/resources/assets/tardim_ic/lang/rpr.json
diff --git a/forge/src/main/resources/assets/tardim_ic/lang/ru_ru.json b/src/main/resources/assets/tardim_ic/lang/ru_ru.json
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/lang/ru_ru.json
rename to src/main/resources/assets/tardim_ic/lang/ru_ru.json
diff --git a/forge/src/main/resources/assets/tardim_ic/models/block/digital_tardim_interface.json b/src/main/resources/assets/tardim_ic/models/block/digital_tardim_interface.json
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/models/block/digital_tardim_interface.json
rename to src/main/resources/assets/tardim_ic/models/block/digital_tardim_interface.json
diff --git a/forge/src/main/resources/assets/tardim_ic/models/block/redstone_tardim_input.json b/src/main/resources/assets/tardim_ic/models/block/redstone_tardim_input.json
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/models/block/redstone_tardim_input.json
rename to src/main/resources/assets/tardim_ic/models/block/redstone_tardim_input.json
diff --git a/common/src/main/resources/assets/tardim_ic/models/item/digital_tardim_interface.json b/src/main/resources/assets/tardim_ic/models/item/digital_tardim_interface.json
similarity index 100%
rename from common/src/main/resources/assets/tardim_ic/models/item/digital_tardim_interface.json
rename to src/main/resources/assets/tardim_ic/models/item/digital_tardim_interface.json
diff --git a/common/src/main/resources/assets/tardim_ic/models/item/redstone_tardim_input.json b/src/main/resources/assets/tardim_ic/models/item/redstone_tardim_input.json
similarity index 100%
rename from common/src/main/resources/assets/tardim_ic/models/item/redstone_tardim_input.json
rename to src/main/resources/assets/tardim_ic/models/item/redstone_tardim_input.json
diff --git a/common/src/main/resources/assets/tardim_ic/textures/block/digital_tardim_interface.png b/src/main/resources/assets/tardim_ic/textures/blocks/digital_tardim_interface.png
similarity index 100%
rename from common/src/main/resources/assets/tardim_ic/textures/block/digital_tardim_interface.png
rename to src/main/resources/assets/tardim_ic/textures/blocks/digital_tardim_interface.png
diff --git a/forge/src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png b/src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png
rename to src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png
diff --git a/forge/src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png.mcmeta b/src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png.mcmeta
similarity index 100%
rename from forge/src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png.mcmeta
rename to src/main/resources/assets/tardim_ic/textures/blocks/red_contr.png.mcmeta
diff --git a/common/src/main/resources/data/tardim_ic/loot_tables/blocks/digital_tardim_interface.json b/src/main/resources/data/tardim_ic/loot_tables/blocks/digital_tardim_interface.json
similarity index 100%
rename from common/src/main/resources/data/tardim_ic/loot_tables/blocks/digital_tardim_interface.json
rename to src/main/resources/data/tardim_ic/loot_tables/blocks/digital_tardim_interface.json
diff --git a/common/src/main/resources/data/tardim_ic/loot_tables/blocks/redstone_tardim_input.json b/src/main/resources/data/tardim_ic/loot_tables/blocks/redstone_tardim_input.json
similarity index 100%
rename from common/src/main/resources/data/tardim_ic/loot_tables/blocks/redstone_tardim_input.json
rename to src/main/resources/data/tardim_ic/loot_tables/blocks/redstone_tardim_input.json
diff --git a/common/src/main/resources/data/tardim_ic/recipes/digital_tardim_interface.json b/src/main/resources/data/tardim_ic/recipes/digital_tardim_interface.json
similarity index 100%
rename from common/src/main/resources/data/tardim_ic/recipes/digital_tardim_interface.json
rename to src/main/resources/data/tardim_ic/recipes/digital_tardim_interface.json
diff --git a/common/src/main/resources/data/tardim_ic/recipes/redstone_tardim_input.json b/src/main/resources/data/tardim_ic/recipes/redstone_tardim_input.json
similarity index 100%
rename from common/src/main/resources/data/tardim_ic/recipes/redstone_tardim_input.json
rename to src/main/resources/data/tardim_ic/recipes/redstone_tardim_input.json
diff --git a/forge/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta
similarity index 100%
rename from forge/src/main/resources/pack.mcmeta
rename to src/main/resources/pack.mcmeta