Compare commits

...

No commits in common. "1.20" and "1.19" have entirely different histories.
1.20 ... 1.19

183 changed files with 908 additions and 5266 deletions

15
.gitattributes vendored
View file

@ -1,15 +0,0 @@
* text eol=lf
*.bat text eol=crlf
*.patch text eol=lf
*.java text eol=lf
*.gradle text eol=crlf
*.png binary
*.gif binary
*.exe binary
*.dll binary
*.jar binary
*.lzma binary
*.zip binary
*.pyd binary
*.cfg text eol=lf
*.jks binary

130
.gitignore vendored
View file

@ -1,24 +1,118 @@
# eclipse # User-specific stuff
bin .idea/
*.launch
.settings
.metadata
.classpath
.project
# idea *.iml
out
*.ipr *.ipr
*.iws *.iws
*.iml
.idea/*
!.idea/scopes
# gradle # IntelliJ
build out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
.gradle .gradle
build/
# other # Ignore Gradle GUI config
eclipse gradle-app.setting
run
/.idea/ # Cache of project
.gradletasknamecache
**/build/
# Common working directory
run/
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

View file

@ -1,3 +0,0 @@
<component name="DependencyValidationManager">
<scope name="Fabric sources" pattern="!ext[Gradle: cpw.mods:*:*]:*/&amp;&amp;!ext[Gradle: mezz.jei:*:*:*]:*/&amp;&amp;!ext[Gradle: net.jodah:typetools:*]:*/&amp;&amp;!ext[Gradle: net.minecraft:client:extra:*]:*/&amp;&amp;!ext[Gradle: net.minecraft:joined*:*]:*/&amp;&amp;!ext[Gradle: net.minecraft:mappings_official:zip:*]:*/&amp;&amp;!ext[Gradle: net.minecraftforge:*:*]:*/" />
</component>

View file

@ -1,3 +0,0 @@
<component name="DependencyValidationManager">
<scope name="Forge sources" pattern="!ext[Gradle: loom_mappings_*:*:*]:*/&amp;&amp;!ext[Gradle: net.fabricmc:*:*]:*/&amp;&amp;!ext[Gradle: net.minecraft:joined*:*]:*/&amp;&amp;!ext[Gradle: net.minecraft:mappings_official:zip:*]:*/&amp;&amp;!ext[Gradle: net.minecraft:minecraft-project-*:*]:*/" />
</component>

21
LICENSE
View file

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2023 Andrey Nikitin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -1,49 +1,38 @@
![TARDIM: IC Banner](https://cdn.modrinth.com/data/xsv4H3pa/images/561e86895ec0b73d8fcbfb8bb83d4cc92b15734d.png) # TARDIM: In Control
### All of time and space, *now automated and improved*. ### All of time and space, *now automated*.
This mod is an addon for the [TARDIM mod](https://www.curseforge.com/minecraft/mc-mods/tardim), This mod is an addon for the [TARDIM mod](https://modrinth.com/mod/tardim), and adds a way to control your time (but mostly space) machine with [ComputerCraft: Tweaked](https://tweaked.cc) computers and redstone using a new blocks and peripherals.
and adds a way to control and manage your time (but mostly space) machine with new blocks, redstone,
and even other mods like [ComputerCraft: Tweaked](https://tweaked.cc) or [Create](https://github.com/Creators-of-Create/Create)
## Features: ### Features:
* New commands that let you ring cloister bell or list all biomes and dimensions * Digital TARDIM interface: ComputerCraft peripheral that lets you control a TARDIM using CC methods! Full list of methods is available in the [Javadoc](http://andrey71.me/TARDIM-ic-docs/su/a71/tardim_ic/tardim_ic/DigitalInterfacePeripheral.html) (Sorry for that, this is the best auto-generated docs I could find for now). The peripheral supports almost all commands that the TARDIM computer panel has.
* Improved fuel system, which will take in any furnace fuel and won't consume buckets * Redstone TARDIM Input: New control block that lets you execute a TARDIM command with the power of redstone! After saving a command, this block executes it every time it gets powered by redstone
* Redstone TARDIM Input: New block that lets you execute a TARDIM command with the power of redstone! After saving a command, this block executes it every time it gets powered by redstone * *This is just the beginning, there are more features to come!*
* Full ComputerCraft integration
* Digital TARDIM interface: ComputerCraft peripheral that lets you control a TARDIM using computers! The peripheral supports almost all commands that the TARDIM computer panel has.
* Peripherals for some of the TARDIM blocks that provide a few of digital interface's methods at smaller costs
* New exterior - Soviet Chronobox, styled like a USSR phone booth
* [Coming once Create Fabric is on 1.20] Create integration (display sources): some of the blocks will now be able to act as a display source with Create mod
* [WIP] Food machine - exchange fuel for food. *Currently only in creative mode and half finished.*
* You can see planned features [in the docs](https://tardim.a71.su/planned)
## Example use-cases ### Note
This is important, due to nature of the mod **anyone** inside your TARDIM with access to a computer and this mod's peripheral
will be able to run **any** methods. There is no fix that I know of (aside from disabling any commands except "getters" like fuel info), so if you want to have this on your server
and do not trust everyone not to steal your blue box, make sure there is some kind of plot claim mod. If there will be demand for it I can try adding a config option to disable all but "harmless" methods.\
And another thing: the method that sets destination dimension doesn't check if the dimension is valid, if you cannot land just change dimension to a valid one.
### Example use-cases
* Make a dashboard to monitor fuel levels, current location, and other information on a screen in a nice way. * Make a dashboard to monitor fuel levels, current location, and other information on a screen in a nice way.
* Get refined control over your TARDIM, such as saving and loading locations, or setting a destination in a GUI. * Get refined control over your TARDIM, such as saving and loading locations, or setting a destination in a GUI.
* Add visual effects that activate during flight e.g. note blocks or Create mod contraptions. * Add visual effects that activate during flight e.g. note blocks or Create mod contraptions.
The possibilities are endless, the only limit is your imagination! The possibilities are endless, the only limit is your imagination! (And coding skills)
## Documentation ### FAQ
Information about the mod's blocks and integration, crafting recipes, and plans for development are available at https://tardim.a71.su
## FAQ
**Is this for Fabric or Forge?** **Is this for Fabric or Forge?**
: Both! As a Fabric player who recognises Forge's large playerbase, I support both major modloaders. : As a Fabric player who recognises Forge's large playerbase, I intend to support both major modloaders.
However, due to nature of development Fabric versions may get released a bit earlier. However, the Fabric version is not yet released as I am waiting until I have a stable version to start porting the mod.
If you would like to use this mod but the version you want is missing I would suggest following the mod.
**Can I use this in my modpack?** **Can I use this in my modpack?**
: Sure, as long as you don't claim the mod as your own. A link to this mod's page would be appreciated too. : Sure, as long as you credit me and link to this page.
**Will there be a 1.20.1 version and beyond?** **Will there be a 1.19.3 version and beyond?**
: I am in the process of moving to 1.20, with Fabric already out and Forge in progress. : Yes, I will try my best to update to later versions as soon as **both** ComputerCraft: Tweaked and TARDIM receive stable versions for them.
I intend to follow latest versions with TARDIM.
**I encountered a bug or have a suggestion. What do I do?** **I don't know CC, will this always be a CC-only mod?**
: If you have a problem or suggestion, the best way to get them to me is through the project's Discord server. : OK, fine, nobody actually asked that. But in case you did, good news: No! As you might've noticed, version 0.8 add a block that make it possible to integrate your TARDIM into good old redstone! Going forward, I plan to add some way to get redstone *output* from the TARDIM as well, and maybe even streamline things like the cloister bell for those who don't want to code their own implementations!
**Do I need to install things like ComputerCraft or Create for this mod?**
: Nope! While I highly suggest you do (because digital interface is in my opinion the star of the show),
you can enjoy a lot of TARDIM: In Control's features with only TARDIM installed.
If you ever decide to add other optional dependencies, the relevant blocks will become available and craftable!

View file

@ -1,15 +0,0 @@
=== HOW MANY PROBLEMS TARDIM HAS?! ===
1. A few log messages definitely left from testing (e.g. aklfjsjsfw)
2. isValidFlightPath is private on Fabric
3. FABRIC AND FORGE HAVE DIFFERENT JAVA IMPORT PATHS
4. [FIXED] Adding custom commands was private for literally 0 reason
5. com.swdteam.tardim.common.data.DimensionMapReloadListener has modid tutorial in
public ResourceLocation getFabricId() {
return new ResourceLocation("tutorial", "tardim_dimension_lookup");
}
5.1 Forge's MANIFEST.MF too!
Andrew71's proposals:
1. Quick-return command
2. add support for far more fuel sources via AbstractFurnaceBlockEntity.getFuel() on top of built-in TARDIM method
3. Unify package names on Forge and Fabric

10
TODO
View file

@ -1,10 +0,0 @@
=== TODO ===
Doing every fucking thing over again
* Basics
* Registrate creative mode tab
* Registrate a single block. Any block will do
* Digital Interface for TARDIM
* Block
* Peripheral

View file

@ -1,101 +1,115 @@
plugins { buildscript {
id 'fabric-loom' version '1.3-SNAPSHOT' apply(false) repositories {
id 'net.neoforged.gradle' version '[6.0.18,6.2)' apply(false) maven { url = 'https://maven.minecraftforge.net' }
id 'org.spongepowered.gradle.vanilla' version '0.2.1-SNAPSHOT' apply(false) mavenCentral()
id("org.spongepowered.mixin") version "0.7-SNAPSHOT" apply(false) }
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
}
} }
subprojects { apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'java'
java.toolchain.languageVersion = JavaLanguageVersion.of(17) group = project.group
java.withSourcesJar() version = project.version
java.withJavadocJar() archivesBaseName = project.archivesBaseName
jar { java.toolchain.languageVersion = JavaLanguageVersion.of(17)
from(rootProject.file("LICENSE")) {
rename { "${it}_${mod_name}" } minecraft {
mappings channel: 'official', version: "${mc_version}"
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
// Recommended logging level for the console
// You can set various levels here.
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
property 'forge.logging.console.level', 'debug'
mods {
cctutorial {
source sourceSets.main
} }
}
}
server {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
// Recommended logging level for the console
// You can set various levels here.
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
property 'forge.logging.console.level', 'debug'
mods {
cctutorial {
source sourceSets.main
}
}
}
data {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
// Recommended logging level for the console
// You can set various levels here.
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
property 'forge.logging.console.level', 'debug'
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', 'tardim_ic', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
mods {
tardim_ic {
source sourceSets.main
}
}
}
}
}
// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }
repositories {
maven { url 'https://squiddev.cc/maven/' }
maven { url "https://cursemaven.com"}
}
dependencies {
// Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
// that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
// 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 fg.deobf("curse.maven:tardim-531315:3983700")
implementation fg.deobf("org.squiddev:cc-tweaked-1.19.1:${cc_version}")
}
// Example for how to get properties into the manifest for reading by the runtime..
jar {
manifest { manifest {
attributes([ attributes([
'Specification-Title' : mod_name, "Specification-Title" : "tardim_ic",
'Specification-Vendor' : mod_author, //"Specification-Vendor": "tardim_ic authors",
'Specification-Version' : project.jar.archiveVersion, "Specification-Version" : "1", // We are version 1 of ourselves
'Implementation-Title' : project.name, "Implementation-Title" : project.name,
'Implementation-Version' : project.jar.archiveVersion, "Implementation-Version" : project.version,
'Implementation-Vendor' : mod_author, //"Implementation-Vendor": "tardim_ic authors",
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
'Timestamp' : System.currentTimeMillis(),
'Built-On-Java' : "${System.getProperty('java.vm.version')} (${System.getProperty('java.vm.vendor')})",
'Built-On-Minecraft' : minecraft_version
]) ])
} }
}
sourcesJar {
from(rootProject.file("LICENSE")) {
rename { "${it}_${mod_name}" }
}
}
repositories {
mavenCentral()
maven {
name = 'Sponge / Mixin'
url = 'https://repo.spongepowered.org/repository/maven-public/'
}
maven {
name = 'BlameJared Maven (JEI / CraftTweaker / Bookshelf)'
url = 'https://maven.blamejared.com'
}
// CC: Tweaked
maven {
url "https://squiddev.cc/maven/"
content {
includeGroup("cc.tweaked")
includeModule("org.squiddev", "Cobalt")
}
}
// Curseforge
repositories {
maven {
url "https://cursemaven.com"
}
}
// Create Fabric 1.20 (Jeez that's a lot of mavens)
// maven {
// name "devOSSnapshots"
// url "https://mvn.devos.one/snapshots"
// }
// maven {
// name "tterrag maven"
// url "https://maven.tterrag.com/"
// }
// maven {
// url "https://maven.jamieswhiteshirt.com/libs-release"
// content {
// includeGroup "com.jamieswhiteshirt"
// }
// }
}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = 'UTF-8'
it.options.getRelease().set(17)
}
processResources {
filesMatching(['pack.mcmeta', 'fabric.mod.json', 'mods.toml', '*.mixins.json']) {
expand project.properties
}
}
// Disables Gradle's custom module metadata from being published to maven. The
// metadata includes mapped dependencies which are not reasonably consumable by
// other mod developers.
tasks.withType(GenerateModuleMetadata).configureEach {
enabled = false
}
} }
jar.finalizedBy('reobfJar')

View file

@ -1,39 +0,0 @@
plugins {
id 'idea'
id 'java'
id 'maven-publish'
id 'org.spongepowered.gradle.vanilla'
}
base {
archivesName = "${mod_name}-common-${minecraft_version}"
}
minecraft {
version(minecraft_version)
if(file("src/main/resources/${mod_id}.accesswidener").exists()){
accessWideners(file("src/main/resources/${mod_id}.accesswidener"))
}
}
dependencies {
compileOnly group:'org.spongepowered', name:'mixin', version:'0.8.5'
implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.1'
// ComputerCraft
compileOnly("cc.tweaked:cc-tweaked-$minecraft_version-common-api:$cc_version")
compileOnly(files("./tardim-1.2.2-dev.jar"))
}
publishing {
publications {
mavenJava(MavenPublication) {
artifactId base.archivesName.get()
from components.java
}
}
repositories {
maven {
url "file://" + System.getenv("local_maven")
}
}
}

View file

@ -1,11 +0,0 @@
package su.a71.tardim_ic;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Constants {
public static final String MOD_ID = "tardim_ic";
public static final String MOD_NAME = "TARDIM: In Control";
public static final Logger LOG = LoggerFactory.getLogger(MOD_NAME);
}

View file

@ -1,62 +0,0 @@
package su.a71.tardim_ic.command;
import com.swdteam.tardim.common.command.tardim.CommandTardimBase;
import com.swdteam.tardim.common.command.tardim.ICommand;
import com.swdteam.tardim.tardim.TardimData;
import com.swdteam.tardim.tardim.TardimManager;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.FurnaceFuelSlot;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity;
import net.minecraft.world.level.block.entity.FurnaceBlockEntity;
/*
This command prints list of all biomes into the console to find technical names
You can also pass an argument to search for entries with this string (e.g. amethyst for terralith:amethyst_rainforest
*/
public class CommandListBiomes implements ICommand{
@Override
public void execute(String[] args, Player player, BlockPos pos, CommandTardimBase.CommandSource source) {
;
if (args.length == 1 || args.length == 0) {
TardimData data = TardimManager.getFromPos(pos);
if (data != null) {
if (data.hasPermission(player)) {
Registry<Biome> biomeRegistry = player.level().registryAccess().registryOrThrow(Registries.BIOME);
biomeRegistry.keySet().forEach(
(ResourceLocation res) -> {
String out = res.toString();
if (args.length == 0 || out.toLowerCase().contains(args[0].toLowerCase())) {
CommandTardimBase.sendResponse(player, out, CommandTardimBase.ResponseType.INFO, source);
}
}
);
} else {
CommandTardimBase.sendResponse(player, "You do not have permission", CommandTardimBase.ResponseType.FAIL, source);
}
}
} else {
CommandTardimBase.sendResponse(player, this.getUsage(), CommandTardimBase.ResponseType.FAIL, source);
}
}
@Override
public String getCommandName() {
return "list-biomes";
}
@Override
public String getUsage() {
return "/list-biomes <..search_query>"; // TODO: how to communicate this better
}
@Override
public CommandTardimBase.CommandSource allowedSource() {
return CommandTardimBase.CommandSource.BOTH;
}
}

View file

@ -1,47 +0,0 @@
package su.a71.tardim_ic.command;
import com.swdteam.tardim.common.command.tardim.CommandTardimBase;
import com.swdteam.tardim.common.command.tardim.ICommand;
import com.swdteam.tardim.tardim.TardimData;
import com.swdteam.tardim.tardim.TardimManager;
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.player.Player;
/*
This command prints list of all dimensions into the console to find technical names
*/
public class CommandListDimensions implements ICommand{
@Override
public void execute(String[] args, Player player, BlockPos pos, CommandTardimBase.CommandSource source) {
if (args.length == 0) {
TardimData data = TardimManager.getFromPos(pos);
if (data != null) {
if (data.hasPermission(player)) {
for (ServerLevel serverLevel : player.level().getServer().getAllLevels()) {
CommandTardimBase.sendResponse(player, serverLevel.dimension().location().toString(), CommandTardimBase.ResponseType.INFO, source);
}
} else {
CommandTardimBase.sendResponse(player, "You do not have permission", CommandTardimBase.ResponseType.FAIL, source);
}
}
} else {
CommandTardimBase.sendResponse(player, this.getUsage(), CommandTardimBase.ResponseType.FAIL, source);
}
}
@Override
public String getCommandName() {
return "list-dimensions";
}
@Override
public String getUsage() {
return "/list-dimensions";
}
@Override
public CommandTardimBase.CommandSource allowedSource() {
return CommandTardimBase.CommandSource.BOTH;
}
}

View file

@ -1,94 +0,0 @@
package su.a71.tardim_ic.computercraft_compat.entity;
import com.swdteam.tardim.tardim.TardimData;
import com.swdteam.tardim.tardim.TardimManager;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
public class FakeTardimPeripheralTileEntity implements ITardimPeripheralTileEntity {
public BlockPos blockPos;
public Level level;
public TardimData data; // Our TARDIM
public FakeTardimPeripheralTileEntity(BlockPos in_block, Level in_level) {
this.blockPos = in_block;
this.level = in_level;
this.data = getTardimDataInitial();
}
@Override
public BlockPos getPos() {
return this.blockPos;
}
@Override
public Level getLevel() {
return this.level;
}
@Override
public TardimData getTardim() {
return this.data;
}
@Override
public Block getBlock() {
return this.level.getBlockState(this.blockPos).getBlock();
}
public TardimData getTardimDataInitial() {
int X = this.getPos().getX(), Z = this.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 we fail checks here are not inside a TARDIM
if (!found) {
return null;
}
TardimData T = TardimManager.getTardim(index);
if (T.getCurrentLocation() == null || T.getOwnerName() == null) {
return null;
}
return T;
}
}

View file

@ -1,18 +0,0 @@
package su.a71.tardim_ic.computercraft_compat.entity;
import com.swdteam.tardim.tardim.TardimData;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
// This is used to getPost(), getLevel() and getTardim() nicely without refactoring code to account for PeripheralProvider
// At least I believe so. Otherwise, don't really remember why I don't just pass these methods to the peripherals.
public interface ITardimPeripheralTileEntity {
public BlockPos getPos();
public Level getLevel();
public TardimData getTardim();
public Block getBlock();
}

View file

@ -1,65 +0,0 @@
package su.a71.tardim_ic.computercraft_compat.peripherals;
import com.swdteam.tardim.common.block.BlockFuelStorage;
import com.swdteam.tardim.tardim.TardimData;
import dan200.computercraft.api.lua.LuaException;
import dan200.computercraft.api.lua.LuaFunction;
import dan200.computercraft.api.peripheral.IPeripheral;
import net.minecraft.world.phys.Vec3;
import su.a71.tardim_ic.computercraft_compat.entity.FakeTardimPeripheralTileEntity;
/*
* CC Peripheral for TARDIM's fuel storage block.
* Only provides getters for the fuel parts for people who cannot afford or don't need the digital interface.
*/
public class FuelStoragePeripheral extends TardimPeripheral<BlockFuelStorage> implements IPeripheral {
/**
* @param tileEntity the tile entity of this peripheral
* @hidden
*/
public FuelStoragePeripheral(FakeTardimPeripheralTileEntity tileEntity) {
super(tileEntity, "tardim_fuel_storage", (BlockFuelStorage) tileEntity.getBlock());
}
// Peripheral methods ===============================================================
/**
* Return how much fuel is left in the TARDIM
*
* @return Fuel left (Out of 100)
*/
@LuaFunction(mainThread = true)
public final double getFuel() throws LuaException {
return getTardimData().getFuel();
}
/**
* Get how much fuel it would take to travel to the destination
* @return Amount of fuel needed (Out of 100)
*/
@LuaFunction(mainThread = true)
public final double calculateFuelForJourney() throws LuaException {
TardimData data = getTardimData();
if (data.getTravelLocation() == null) return 0;
TardimData.Location curr = data.getCurrentLocation();
TardimData.Location dest = data.getTravelLocation();
double fuel = 0.0;
if (curr.getLevel() != dest.getLevel())
{
fuel = 10.0;
}
Vec3 posA = new Vec3(curr.getPos().getX(), curr.getPos().getY(), curr.getPos().getZ());
Vec3 posB = new Vec3(dest.getPos().getX(), dest.getPos().getY(), dest.getPos().getZ());
fuel += posA.distanceTo(posB) / 100.0;
if (fuel > 100.0) fuel = 100.0;
return fuel;
}
}

View file

@ -1,86 +0,0 @@
package su.a71.tardim_ic.computercraft_compat.peripherals;
import com.swdteam.tardim.tardim.TardimData;
import dan200.computercraft.api.lua.LuaException;
import dan200.computercraft.api.peripheral.IComputerAccess;
import dan200.computercraft.api.peripheral.IPeripheral;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import su.a71.tardim_ic.computercraft_compat.entity.ITardimPeripheralTileEntity;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.*;
// Base CC peripheral for whn you need something with access to a TARDIM
public abstract class TardimPeripheral<BL extends Block> implements IPeripheral {
private final List<IComputerAccess> connectedComputers = new ArrayList<>(); // List of computers connected to the peripheral
public final ITardimPeripheralTileEntity tileEntity; // Peripheral's BlockEntity, used for accessing coordinates
public final String name;
private final BL block;
/**
* @param tileEntity the tile entity of this peripheral
* @hidden
*/
public TardimPeripheral(ITardimPeripheralTileEntity tileEntity, String name, BL block) {
this.tileEntity = tileEntity;
this.name = name;
this.block = block;
}
@Override
public BL getTarget() {
return this.block;
}
/** Setting name for the peripheral. A computer will see it as "digital_tardim_interface_n"
* @hidden
*/
@Nonnull
@Override
public String getType() { return this.name; }
/** 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 ITardimPeripheralTileEntity getTileEntity() {
return tileEntity;
}
public TardimData getTardimData() throws LuaException {
TardimData data = this.getTileEntity().getTardim();
if (data == null || data.getCurrentLocation() == null || data.getOwnerName() == null) {
throw new LuaException("Peripheral is not inside a TARDIM");
}
return data;
}
}

View file

@ -1,144 +0,0 @@
package su.a71.tardim_ic.computercraft_compat.peripherals;
import com.swdteam.tardim.common.block.BlockTardimScanner;
import com.swdteam.tardim.common.init.TardimRegistry;
import com.swdteam.tardim.tardim.TardimData;
import dan200.computercraft.api.lua.LuaException;
import dan200.computercraft.api.lua.LuaFunction;
import dan200.computercraft.api.lua.ObjectLuaTable;
import dan200.computercraft.api.peripheral.IPeripheral;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.players.PlayerList;
import net.minecraft.world.level.biome.Biome;
import su.a71.tardim_ic.computercraft_compat.entity.FakeTardimPeripheralTileEntity;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
* CC Peripheral for TARDIM's scanner block.
* Only provides getters for data-related (mostly table output) methods e.g. biome or companion list
* for people who cannot afford or don't need the digital interface.
*/
public class TardimScannerPeripheral extends TardimPeripheral<BlockTardimScanner> implements IPeripheral {
/**
* @param tileEntity the tile entity of this peripheral
* @hidden
*/
public TardimScannerPeripheral(FakeTardimPeripheralTileEntity tileEntity) {
super(tileEntity, "tardim_scanner", (BlockTardimScanner) tileEntity.getBlock());
}
// Peripheral methods ===============================================================
/**
* Get username of the TARDIM's owner
* @return String of the owner's username
*/
@LuaFunction(mainThread = true)
public final String getOwnerName() throws LuaException {
TardimData data = getTardimData();
return data.getOwnerName();
}
/**
* Get list of the TARDIM owner's companions
* @return ObjectLuaTable containing the usernames of the companions
*/
@LuaFunction(mainThread = true)
public final ObjectLuaTable getCompanions() throws LuaException {
TardimData data = getTardimData();
Map<Integer, String> 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);
}
/**
* Get online players. Useful for making a GUI for the locate function or just a nice dashboard.
*
* @return ObjectLuaTable of the online players
*/
@LuaFunction(mainThread = true)
public final ObjectLuaTable getOnlinePlayers() throws LuaException {
if (this.tileEntity.getLevel().isClientSide()) {
return null;
}
PlayerList playerList = this.tileEntity.getLevel().getServer().getPlayerList();
Map<Integer, String> 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);
}
/**
* Get all available TARDIM skins. Useful for making a GUI skin selection.
*
* @return ObjectLuaTable of the available skins
*/
@LuaFunction(mainThread = true)
public final ObjectLuaTable getSkins() throws LuaException {
if (this.getTileEntity().getLevel().isClientSide()) {
return null;
}
Map<Integer, String> 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);
}
/**
* 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<Integer, String> biomes = new HashMap<>();
Registry<Biome> biomeRegistry = tileEntity.getLevel().registryAccess().registryOrThrow(Registries.BIOME);
Iterator<ResourceLocation> 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<ServerLevel> dim_it = this.getTileEntity().getLevel().getServer().getAllLevels().iterator(); // TODO: Does this really work?
Map<Integer, String> 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);
}
}

View file

@ -1,100 +0,0 @@
package su.a71.tardim_ic.computercraft_compat.peripherals;
import com.swdteam.tardim.common.block.BlockRotor;
import com.swdteam.tardim.tardim.TardimData;
import dan200.computercraft.api.lua.LuaException;
import dan200.computercraft.api.lua.LuaFunction;
import dan200.computercraft.api.lua.ObjectLuaTable;
import dan200.computercraft.api.peripheral.IPeripheral;
import su.a71.tardim_ic.computercraft_compat.entity.FakeTardimPeripheralTileEntity;
import java.util.Map;
/*
* CC Peripheral for TARDIM's time rotor block.
* Only provides getters for the flight status for people who cannot afford or don't need the digital interface.
*/
public class TimeRotorPeripheral extends TardimPeripheral<BlockRotor> implements IPeripheral {
/**
* @param tileEntity the tile entity of this peripheral
* @hidden
*/
public TimeRotorPeripheral(FakeTardimPeripheralTileEntity tileEntity) {
super(tileEntity, "tardim_rotor", (BlockRotor) tileEntity.getBlock());
}
// Peripheral methods ===============================================================
/**
* Check whether the TARDIM is in flight
* @return true if in flight, false if not
*/
@LuaFunction(mainThread = true)
public final boolean isInFlight() throws LuaException { return getTardimData().isInFlight(); }
/**
* Supposedly gets UNIX timestamp of when we entered flight
* @return UNIX timestamp if in flight, -1 if not
*/
@LuaFunction(mainThread = true)
public final long getTimeEnteredFlight() throws LuaException {
TardimData data = getTardimData();
if (!data.isInFlight()) {
return -1;
}
return data.getTimeEnteredFlight();
}
/**
* Get the current location of the TARDIM
* @return ObjectLuaTable of the current location with the following keys:
* <ul>
* <li>dimension - String of the dimension</li>
* <li>pos - table with the keys x, y, z that hold numbers</li>
* <li>facing - String of the facing</li>
* </ul>
*/
@LuaFunction(mainThread = true)
public final ObjectLuaTable getCurrentLocation() throws LuaException {
TardimData.Location loc = getTardimData().getCurrentLocation();
return new ObjectLuaTable(Map.of(
"dimension", loc.getLevel().location().toString(),
"pos", new ObjectLuaTable(Map.of(
"x", loc.getPos().getX(),
"y", loc.getPos().getY(),
"z", loc.getPos().getZ()
)),
"facing", loc.getFacing().toString()
));
}
/**
* Get the current location of the TARDIM
* @return if there is no destination returns null.
* <p>
* Otherwise, ObjectLuaTable of the current location with the following keys:
* <ul>
* <li>dimension - String of the dimension</li>
* <li>pos - table with the keys x, y, z that hold numbers</li>
* <li>facing - String of the facing</li>
* </ul>
*/
@LuaFunction(mainThread = true)
public final ObjectLuaTable getTravelLocation() throws LuaException {
TardimData data = getTardimData();
if (data.getTravelLocation() == null) {
data.setTravelLocation(data.getCurrentLocation());
}
TardimData.Location loc = data.getTravelLocation();
return new ObjectLuaTable(Map.of(
"dimension", loc.getLevel().location().toString(),
"pos", new ObjectLuaTable(Map.of(
"x", loc.getPos().getX(),
"y", loc.getPos().getY(),
"z", loc.getPos().getZ()
)),
"facing", loc.getFacing().toString()
));
}
}

View file

@ -1,58 +0,0 @@
//package su.a71.tardim_ic.mixin;
//
//import com.swdteam.tardim.common.command.tardim.CommandLocate;
//import com.swdteam.tardim.common.command.tardim.CommandTardimBase;
//import com.swdteam.tardim.tardim.TardimData;
//import com.swdteam.tardim.tardim.TardimManager;
//import net.minecraft.core.BlockPos;
//import net.minecraft.world.entity.player.Player;
//import net.minecraft.world.item.ItemStack;
//import org.spongepowered.asm.mixin.Mixin;
//import org.spongepowered.asm.mixin.Overwrite;
//
//import static com.swdteam.tardim.common.command.tardim.CommandTardimBase.sendResponse;
//
//@Mixin(value = CommandLocate.class, remap = false)
//public class JammerMixin {
//// @Inject(method="execute()V", at=@At(value = "INVOKE",
//// target = "Lcom/swdteam/tardim/tardim/TardimData;setTravelLocation(Lcom/swdteam/tardim/tardim/TardimData$Location;)V"))
//// public void execute(CallbackInfo ci) {
//// LOG.info("test");
////// for (ItemStack armour : player.getArmorSlots()) {
////// if (armour.is(LOCATION_JAMMER)) {
////// sendResponse(player, "Player's location is jammed", CommandTardimBase.ResponseType.FAIL, source);
////// ci.cancel();
////// };
////// }
//// }
//
// @Overwrite
// public void execute(String[] args, Player player, BlockPos pos, CommandTardimBase.CommandSource source) {
// if (args.length == 1) {
// TardimData data = TardimManager.getFromPos(pos);
// if (data != null) {
// if (data.hasPermission(player)) {
// Player otherPlayer = player.getServer().getPlayerList().getPlayerByName(args[0]);
// if (otherPlayer != null) {
// for (ItemStack armour : otherPlayer.getArmorSlots()) {
//// if (armour.is(PERSONAL_JAMMER)) {
//// sendResponse(player, otherPlayer.getGameProfile().getName() + "'s location is jammed", CommandTardimBase.ResponseType.FAIL, source);
//// return;
//// }
// // TODO: Re-add
// }
// data.setTravelLocation(new TardimData.Location(otherPlayer.blockPosition(), otherPlayer.level().dimension()));
// sendResponse(player, "Coords locked on to " + otherPlayer.getGameProfile().getName(), CommandTardimBase.ResponseType.COMPLETE, source);
// } else {
// sendResponse(player, "Player does not exist", CommandTardimBase.ResponseType.FAIL, source);
// }
// } else {
// sendResponse(player, "You do not have permission", CommandTardimBase.ResponseType.FAIL, source);
// }
// }
// } else {
// sendResponse(player, ((CommandLocate)(Object)this).getUsage(), CommandTardimBase.ResponseType.FAIL, source);
// }
//
// }
//}

View file

@ -1,25 +0,0 @@
package su.a71.tardim_ic.platform;
import su.a71.tardim_ic.Constants;
import su.a71.tardim_ic.platform.services.IPlatformHelper;
import java.util.ServiceLoader;
public class Services {
// Platform helper that lets us do stuff for Forge/Fabric while being in Common
public static final IPlatformHelper PLATFORM = load(IPlatformHelper.class);
// This code is used to load a service for the current environment. Your implementation of the service must be defined
// manually by including a text file in META-INF/services named with the fully qualified class name of the service.
// Inside the file you should write the fully qualified class name of the implementation to load for the platform. For
// example our file on Forge points to ForgePlatformHelper while Fabric points to FabricPlatformHelper.
public static <T> T load(Class<T> clazz) {
final T loadedService = ServiceLoader.load(clazz)
.findFirst()
.orElseThrow(() -> new NullPointerException("Failed to load service for " + clazz.getName()));
// Constants.LOG.debug("Loaded {} for service {}", loadedService, clazz);
return loadedService;
}
}

View file

@ -1,47 +0,0 @@
package su.a71.tardim_ic.platform.services;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import java.util.function.Supplier;
public interface IPlatformHelper {
/**
* Gets the name of the current platform
*
* @return The name of the current platform.
*/
String getPlatformName();
/**
* Checks if a mod with the given id is loaded.
*
* @param modId The mod to check if it is loaded.
* @return True if the mod is loaded, false otherwise.
*/
boolean isModLoaded(String modId);
/**
* Check if the game is currently in a development environment.
*
* @return True if in a development environment, false otherwise.
*/
boolean isDevelopmentEnvironment();
/**
* Gets the name of the environment type as a string.
*
* @return The name of the environment type.
*/
default String getEnvironmentName() {
return isDevelopmentEnvironment() ? "development" : "production";
}
}

View file

@ -1,34 +0,0 @@
package su.a71.tardim_ic.utils;
import com.mojang.authlib.GameProfile;
import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import java.util.UUID;
/**
* This class is used whenever we need a player for a function but cannot get one
* (i.g we are on server side and need to execute TARDIM command)
*/
public class FakePlayer extends Player {
public FakePlayer(Level lvl, BlockPos blockPos) {
super(lvl, blockPos, 0, new GameProfile(UUID.randomUUID(), "FakePlayer_tardimic"));
}
public FakePlayer(Level lvl, BlockPos blockPos, UUID id) {
super(lvl, blockPos, 0, new GameProfile(id, "FakePlayer_tardimic"));
}
@Override
public boolean isSpectator() {
return false;
}
@Override
public boolean isCreative() {
return false;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 437 B

View file

@ -1,8 +0,0 @@
{
"variants": {
"facing=north": { "model": "tardim_ic:block/food_machine"},
"facing=east": { "model": "tardim_ic:block/food_machine", "y": 90},
"facing=south": { "model": "tardim_ic:block/food_machine", "y": 180},
"facing=west": { "model": "tardim_ic:block/food_machine", "y": 270}
}
}

View file

@ -1,8 +0,0 @@
{
"variants": {
"facing=north": { "model": "tardim_ic:block/tardim_dock"},
"facing=east": { "model": "tardim_ic:block/tardim_dock", "y": 90},
"facing=south": { "model": "tardim_ic:block/tardim_dock", "y": 180},
"facing=west": { "model": "tardim_ic:block/tardim_dock", "y": 270}
}
}

View file

@ -1,124 +0,0 @@
{
"variants": {
"facing=north,half=lower,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom"
},
"facing=north,half=lower,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_closed"
},
"facing=north,half=upper,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top"
},
"facing=north,half=upper,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_closed"
},
"facing=west,half=lower,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom",
"y": 270
},
"facing=west,half=lower,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_closed",
"y": 270
},
"facing=west,half=upper,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top",
"y": 270
},
"facing=west,half=upper,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_closed",
"y": 270
},
"facing=east,half=lower,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom",
"y": 90
},
"facing=east,half=lower,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_closed",
"y": 90
},
"facing=east,half=upper,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top",
"y": 90
},
"facing=east,half=upper,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_closed",
"y": 90
},
"facing=south,half=lower,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom",
"y": 180
},
"facing=south,half=lower,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_closed",
"y": 180
},
"facing=south,half=upper,open=false,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top",
"y": 180
},
"facing=south,half=upper,open=false,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_closed",
"y": 180
},
"facing=north,half=lower,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom"
},
"facing=north,half=lower,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_open"
},
"facing=north,half=upper,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top"
},
"facing=north,half=upper,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_open"
},
"facing=west,half=lower,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom",
"y": 270
},
"facing=west,half=lower,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_open",
"y": 270
},
"facing=west,half=upper,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top",
"y": 270
},
"facing=west,half=upper,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_open",
"y": 270
},
"facing=east,half=lower,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom",
"y": 90
},
"facing=east,half=lower,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_open",
"y": 90
},
"facing=east,half=upper,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top",
"y": 90
},
"facing=east,half=upper,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_open",
"y": 90
},
"facing=south,half=lower,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_bottom",
"y": 180
},
"facing=south,half=lower,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_bottom_open",
"y": 180
},
"facing=south,half=upper,open=true,front=false": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_sides_top",
"y": 180
},
"facing=south,half=upper,open=true,front=true": {
"model": "tardim_ic:block/tardim_soviet_chronobox/tardim_door_top_front_open",
"y": 180
}
}
}

View file

@ -1,5 +0,0 @@
{
"variants": {
"": { "model": "tardim_ic:block/tardim_soviet_chronobox/tardim_floor" }
}
}

View file

@ -1,5 +0,0 @@
{
"variants": {
"": { "model": "tardim_ic:block/tardim_soviet_chronobox/tardim_roof" }
}
}

View file

@ -1,10 +0,0 @@
{
"block.tardim_ic.digital_tardim_interface": "Digital TARDIM Interface",
"block.tardim_ic.redstone_tardim_input": "Redstone TARDIM Input",
"block.tardim_ic.tardim_dock": "TARDIM Dock",
"block.tardim_ic.food_machine": "TARDIM food machine",
"itemGroup.tardim_ic": "TARDIM: In Control",
"itemGroup.minecraft.tardim_ic": "TARDIM: In Control",
"subtitles.tardim_ic.cloister": "Cloister bell rings",
"display_source.fuel_level": "TARDIM fuel level"
}

View file

@ -1,10 +0,0 @@
{
"block.tardim_ic.digital_tardim_interface": "Digital TARDIM interface",
"block.tardim_ic.redstone_tardim_input": "Redstone TARDIM input",
"block.tardim_ic.tardim_dock": "TARDIM dock",
"block.tardim_ic.food_machine": "TARDIM food machine",
"itemGroup.tardim_ic": "TARDIM: In Control",
"itemGroup.minecraft.tardim_ic": "TARDIM: In Control",
"subtitles.tardim_ic.cloister": "Cloister bell rings",
"display_source.fuel_level": "TARDIM fuel level"
}

View file

@ -1,8 +0,0 @@
{
"block.tardim_ic.digital_tardim_interface": "Циферный Интерфейсъ Хронобудки",
"block.tardim_ic.redstone_tardim_input": "Краснокаменный Инпутъ Хронобудки",
"block.tardim_ic.tardim_dock": "Конюшня для TARDIM",
"itemGroup.tardim_ic": "ТАРДИМЪ: Подъ Контрольемъ",
"itemGroup.minecraft.tardim_ic": "ТАРДИМЪ: Подъ Контрольемъ",
"subtitles.tardim_ic.cloister": "Звукъ временного колокола"
}

View file

@ -1,10 +0,0 @@
{
"block.tardim_ic.digital_tardim_interface": "Цифровой интерфейс TARDIM",
"block.tardim_ic.redstone_tardim_input": "Редстоуновый ввод TARDIM",
"block.tardim_ic.tardim_dock": "Стыковочная станция для TARDIM",
"block.tardim_ic.food_machine": "Раздатчик еды",
"itemGroup.tardim_ic": "TARDIM: In Control",
"itemGroup.minecraft.tardim_ic": "TARDIM: In Control",
"subtitles.tardim_ic.cloister": "Звон монастырского колокола",
"display_source.fuel_level": "Уровень топлива в TARDIM"
}

View file

@ -1,213 +0,0 @@
{
"credit": "Made by karoter2 (Feulim)",
"parent": "digital_tardim_interface",
"texture_size": [64, 64],
"textures": {
"1": "tardim_ic:block/digital_tardim_interface",
"particle": "tardim_ic:block/digital_tardim_interface"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 14, 16],
"faces": {
"north": {"uv": [4, 4, 8, 7.5], "texture": "#1"},
"east": {"uv": [0, 4, 4, 7.5], "texture": "#1"},
"south": {"uv": [12, 4, 16, 7.5], "texture": "#1"},
"west": {"uv": [8, 4, 12, 7.5], "texture": "#1"},
"up": {"uv": [8, 4, 4, 0], "texture": "#1"},
"down": {"uv": [12, 0, 8, 4], "texture": "#1"}
}
},
{
"from": [5, 14, 5],
"to": [11, 16, 11],
"faces": {
"north": {"uv": [1.5, 9, 3, 9.5], "texture": "#1"},
"east": {"uv": [0, 9, 1.5, 9.5], "texture": "#1"},
"south": {"uv": [4.5, 9, 6, 9.5], "texture": "#1"},
"west": {"uv": [3, 9, 4.5, 9.5], "texture": "#1"},
"up": {"uv": [3, 9, 1.5, 7.5], "texture": "#1"},
"down": {"uv": [4.5, 7.5, 3, 9], "texture": "#1"}
}
},
{
"from": [11, 14, 7],
"to": [14, 16, 9],
"faces": {
"north": {"uv": [12.5, 0.5, 13.25, 1], "texture": "#1"},
"east": {"uv": [12, 0.5, 12.5, 1], "texture": "#1"},
"south": {"uv": [13.75, 0.5, 14.5, 1], "texture": "#1"},
"west": {"uv": [13.25, 0.5, 13.75, 1], "texture": "#1"},
"up": {"uv": [13.25, 0.5, 12.5, 0], "texture": "#1"},
"down": {"uv": [14, 0, 13.25, 0.5], "texture": "#1"}
}
},
{
"from": [12.5, 14, 3.5],
"to": [12.5, 15, 12.5],
"faces": {
"north": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"east": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"south": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"west": {"uv": [13, 3.75, 15.25, 4], "texture": "#1"},
"up": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"down": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"}
}
},
{
"from": [3.5, 14, 12.5],
"to": [12.5, 15, 12.5],
"faces": {
"north": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"east": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"south": {"uv": [12.5, 3.75, 14.75, 4], "texture": "#1"},
"west": {"uv": [13.5, 3.75, 15.75, 4], "texture": "#1"},
"up": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"down": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"}
}
},
{
"from": [3.5, 14, 3.5],
"to": [12.5, 15, 3.5],
"faces": {
"north": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"east": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"south": {"uv": [12.5, 3.75, 14.75, 4], "texture": "#1"},
"west": {"uv": [13.5, 3.75, 15.75, 4], "texture": "#1"},
"up": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"down": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"}
}
},
{
"from": [3.5, 14, 3.5],
"to": [3.5, 15, 12.5],
"faces": {
"north": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"east": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"south": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"west": {"uv": [13, 3.75, 15.25, 4], "texture": "#1"},
"up": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"},
"down": {"uv": [12, 3.75, 14.25, 4], "texture": "#1"}
}
},
{
"from": [2, 14, 7],
"to": [5, 16, 9],
"faces": {
"north": {"uv": [5, 8, 5.75, 8.5], "texture": "#1"},
"east": {"uv": [4.5, 8, 5, 8.5], "texture": "#1"},
"south": {"uv": [6.25, 8, 7, 8.5], "texture": "#1"},
"west": {"uv": [5.75, 8, 6.25, 8.5], "texture": "#1"},
"up": {"uv": [5.75, 8, 5, 7.5], "texture": "#1"},
"down": {"uv": [6.5, 7.5, 5.75, 8], "texture": "#1"}
}
},
{
"from": [7, 14, 2],
"to": [9, 16, 5],
"faces": {
"north": {"uv": [3.25, 12.5, 3.75, 13], "texture": "#1"},
"east": {"uv": [2.5, 12.5, 3.25, 13], "texture": "#1"},
"south": {"uv": [4.5, 12.5, 5, 13], "texture": "#1"},
"west": {"uv": [3.75, 12.5, 4.5, 13], "texture": "#1"},
"up": {"uv": [3.75, 12.5, 3.25, 11.75], "texture": "#1"},
"down": {"uv": [4.25, 11.75, 3.75, 12.5], "texture": "#1"}
}
},
{
"from": [7, 14, 11],
"to": [9, 16, 14],
"faces": {
"north": {"uv": [0.75, 12.5, 1.25, 13], "texture": "#1"},
"east": {"uv": [0, 12.5, 0.75, 13], "texture": "#1"},
"south": {"uv": [2, 12.5, 2.5, 13], "texture": "#1"},
"west": {"uv": [1.25, 12.5, 2, 13], "texture": "#1"},
"up": {"uv": [1.25, 12.5, 0.75, 11.75], "texture": "#1"},
"down": {"uv": [1.75, 11.75, 1.25, 12.5], "texture": "#1"}
}
},
{
"from": [6, 13, -2],
"to": [10, 17, 2],
"faces": {
"north": {"uv": [10, 9.5, 11, 10.5], "texture": "#1"},
"east": {"uv": [9, 9.5, 10, 10.5], "texture": "#1"},
"south": {"uv": [12, 9.5, 13, 10.5], "texture": "#1"},
"west": {"uv": [11, 9.5, 12, 10.5], "texture": "#1"},
"up": {"uv": [11, 9.5, 10, 8.5], "texture": "#1"},
"down": {"uv": [12, 8.5, 11, 9.5], "texture": "#1"}
}
},
{
"from": [6, 13, 14],
"to": [10, 17, 18],
"faces": {
"north": {"uv": [7, 8.5, 8, 9.5], "texture": "#1"},
"east": {"uv": [6, 8.5, 7, 9.5], "texture": "#1"},
"south": {"uv": [9, 8.5, 10, 9.5], "texture": "#1"},
"west": {"uv": [8, 8.5, 9, 9.5], "texture": "#1"},
"up": {"uv": [8, 8.5, 7, 7.5], "texture": "#1"},
"down": {"uv": [9, 7.5, 8, 8.5], "texture": "#1"}
}
},
{
"from": [-2, 13, 6],
"to": [2, 17, 10],
"faces": {
"north": {"uv": [1, 3, 2, 4], "texture": "#1"},
"east": {"uv": [0, 3, 1, 4], "texture": "#1"},
"south": {"uv": [3, 3, 4, 4], "texture": "#1"},
"west": {"uv": [2, 3, 3, 4], "texture": "#1"},
"up": {"uv": [2, 3, 1, 2], "texture": "#1"},
"down": {"uv": [3, 2, 2, 3], "texture": "#1"}
}
},
{
"from": [14, 13, 6],
"to": [18, 17, 10],
"faces": {
"north": {"uv": [1, 1, 2, 2], "texture": "#1"},
"east": {"uv": [0, 1, 1, 2], "texture": "#1"},
"south": {"uv": [3, 1, 4, 2], "texture": "#1"},
"west": {"uv": [2, 1, 3, 2], "texture": "#1"},
"up": {"uv": [2, 1, 1, 0], "texture": "#1"},
"down": {"uv": [3, 0, 2, 1], "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, -1.5, 0],
"scale": [0.5, 0.5, 0.5]
},
"thirdperson_lefthand": {
"translation": [0, -1.5, 0],
"scale": [0.5, 0.5, 0.5]
},
"firstperson_righthand": {
"translation": [-1.25, 0, 0],
"scale": [0.5, 0.5, 0.5]
},
"firstperson_lefthand": {
"translation": [3.75, -1.5, 0],
"scale": [0.5, 0.5, 0.5]
},
"ground": {
"translation": [0, -0.5, 0],
"scale": [0.35, 0.35, 0.35]
},
"gui": {
"rotation": [33, 45, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"translation": [0, 0.75, 0],
"scale": [1.1, 1.1, 1.1]
},
"fixed": {
"rotation": [-90, 0, 0],
"translation": [0, 0, 4.25]
}
}
}

View file

@ -1,104 +0,0 @@
{
"credit": "Made by karoter2 (Feulim)",
"texture_size": [128, 128],
"textures": {
"0": "tardim_ic:block/food_machine",
"particle": "tardim_ic:block/food_machine"
},
"elements": [
{
"from": [0, 0, 1],
"to": [16, 10, 16],
"faces": {
"north": {"uv": [1.875, 1.875, 3.875, 3.125], "texture": "#0"},
"east": {"uv": [0, 1.875, 1.875, 3.125], "texture": "#0"},
"south": {"uv": [5.75, 1.875, 7.75, 3.125], "texture": "#0"},
"west": {"uv": [3.875, 1.875, 5.75, 3.125], "texture": "#0"},
"up": {"uv": [3.875, 1.875, 1.875, 0], "texture": "#0"},
"down": {"uv": [5.875, 0, 3.875, 1.875], "texture": "#0"}
}
},
{
"from": [0.5, 1, 16.02],
"to": [15.5, 15, 16.02],
"faces": {
"north": {"uv": [8.25, 1.625, 10.125, 3.375], "texture": "#0"},
"east": {"uv": [8.25, 1.625, 8.25, 3.375], "texture": "#0"},
"south": {"uv": [10.125, 1.625, 12, 3.375], "texture": "#0"},
"west": {"uv": [10.125, 1.625, 10.125, 3.375], "texture": "#0"},
"up": {"uv": [10.125, 1.625, 8.25, 1.625], "texture": "#0"},
"down": {"uv": [12, 1.625, 10.125, 1.625], "texture": "#0"}
}
},
{
"from": [0, 10, 0],
"to": [16, 12, 16],
"faces": {
"north": {"uv": [2, 5.125, 4, 5.375], "texture": "#0"},
"east": {"uv": [0, 5.125, 2, 5.375], "texture": "#0"},
"south": {"uv": [6, 5.125, 8, 5.375], "texture": "#0"},
"west": {"uv": [4, 5.125, 6, 5.375], "texture": "#0"},
"up": {"uv": [4, 5.125, 2, 3.125], "texture": "#0"},
"down": {"uv": [6, 3.125, 4, 5.125], "texture": "#0"}
}
},
{
"from": [0, 12, 9],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0.875, 6.25, 2.875, 6.75], "texture": "#0"},
"east": {"uv": [0, 6.25, 0.875, 6.75], "texture": "#0"},
"south": {"uv": [3.75, 6.25, 5.75, 6.75], "texture": "#0"},
"west": {"uv": [2.875, 6.25, 3.75, 6.75], "texture": "#0"},
"up": {"uv": [2.875, 6.25, 0.875, 5.375], "texture": "#0"},
"down": {"uv": [4.875, 5.375, 2.875, 6.25], "texture": "#0"}
}
},
{
"from": [5, 11, 4],
"to": [11, 14, 10],
"rotation": {"angle": -22.5, "axis": "x", "origin": [9, 12, 8]},
"faces": {
"north": {"uv": [6.5, 6.125, 7.25, 6.5], "texture": "#0"},
"east": {"uv": [5.75, 6.125, 6.5, 6.5], "texture": "#0"},
"south": {"uv": [8, 6.125, 8.75, 6.5], "texture": "#0"},
"west": {"uv": [7.25, 6.125, 8, 6.5], "texture": "#0"},
"up": {"uv": [7.25, 6.125, 6.5, 5.375], "texture": "#0"},
"down": {"uv": [8, 5.375, 7.25, 6.125], "texture": "#0"}
}
},
{
"from": [1, 12, 3],
"to": [4, 13, 6],
"faces": {
"north": {"uv": [0.375, 0.875, 0.75, 1], "texture": "#0"},
"east": {"uv": [0, 0.875, 0.375, 1], "texture": "#0"},
"south": {"uv": [1.125, 0.875, 1.5, 1], "texture": "#0"},
"west": {"uv": [0.75, 0.875, 1.125, 1], "texture": "#0"},
"up": {"uv": [0.75, 0.875, 0.375, 0.5], "texture": "#0"},
"down": {"uv": [1.125, 0.5, 0.75, 0.875], "texture": "#0"}
}
},
{
"from": [12, 12, 3],
"to": [15, 13, 6],
"faces": {
"north": {"uv": [0.375, 0.375, 0.75, 0.5], "texture": "#0"},
"east": {"uv": [0, 0.375, 0.375, 0.5], "texture": "#0"},
"south": {"uv": [1.125, 0.375, 1.5, 0.5], "texture": "#0"},
"west": {"uv": [0.75, 0.375, 1.125, 0.5], "texture": "#0"},
"up": {"uv": [0.75, 0.375, 0.375, 0], "texture": "#0"},
"down": {"uv": [1.125, 0, 0.75, 0.375], "texture": "#0"}
}
}
],
"groups": [
{
"name": "group",
"origin": [8, 8, 8],
"color": 0,
"nbt": "{}",
"children": [0, 1, 2, 3, 4, 5, 6]
}
]
}

View file

@ -1,36 +0,0 @@
{
"credit": "Made by karoter2 (Feulim)",
"parent": "block/cube_all",
"ambientocclusion": false,
"textures": {
"1": "tardim_ic:block/redstone_input",
"2": "tardim_ic:block/redstone_input",
"particle": "tardim_ic:block/redstone_input"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#2"},
"east": {"uv": [0, 0, 16, 16], "texture": "#2"},
"south": {"uv": [0, 0, 16, 16], "texture": "#2"},
"west": {"uv": [0, 0, 16, 16], "texture": "#2"},
"up": {"uv": [0, 0, 16, 16], "texture": "#2"},
"down": {"uv": [0, 0, 16, 16], "texture": "#2"}
}
},
{
"from": [-0.325, -0.35, -0.35],
"to": [16.35, 16.525, 16.275],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
"west": {"uv": [0, 0, 16, 16], "texture": "#1"},
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
}
}
]
}

View file

@ -1,8 +0,0 @@
{
"parent": "tardim_ic:block/redstone_tardim_input",
"textures": {
"1": "tardim_ic:block/redstone_input_lit",
"2": "tardim_ic:block/redstone_input_lit",
"particle": "tardim_ic:block/redstone_input_lit"
}
}

View file

@ -1,198 +0,0 @@
{
"credit": "Made by karoter2 (Feulim)",
"texture_size": [64, 64],
"textures": {
"1": "tardim_ic:block/tardim_dock",
"particle": "tardim_ic:block/tardim_dock"
},
"elements": [
{
"from": [2, 0, 2],
"to": [14, 12, 14],
"faces": {
"north": {"uv": [4, 0, 7, 3], "texture": "#1"},
"east": {"uv": [4, 3, 7, 6], "texture": "#1"},
"south": {"uv": [4, 6, 7, 9], "texture": "#1"},
"west": {"uv": [7, 0, 10, 3], "texture": "#1"},
"up": {"uv": [10, 6, 7, 3], "texture": "#1"},
"down": {"uv": [10, 6, 7, 9], "texture": "#1"}
}
},
{
"from": [0, 12, 0],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 8, 4, 9], "texture": "#1"},
"east": {"uv": [0, 9, 4, 10], "texture": "#1"},
"south": {"uv": [4, 9, 8, 10], "texture": "#1"},
"west": {"uv": [8, 9, 12, 10], "texture": "#1"},
"up": {"uv": [4, 4, 0, 0], "texture": "#1"},
"down": {"uv": [4, 4, 0, 8], "texture": "#1"}
}
},
{
"from": [12, 7, 0],
"to": [12, 12, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [10.25, 0, 10, 1.25], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [10, 0, 10.25, 1.25], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "texture": "#1"}
}
},
{
"from": [12, 6, 1],
"to": [12, 7, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [10.5, 1.25, 10.25, 1.5], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [10.5, 1.25, 10.25, 1.5], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "texture": "#1"}
}
},
{
"from": [4, 4, 0],
"to": [4, 12, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [1.25, 10, 1, 12], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [1, 10, 1.25, 12], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "texture": "#1"}
}
},
{
"from": [4, 3, 1],
"to": [4, 4, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [1.5, 12, 1.25, 12.25], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [1.25, 12, 1.5, 12.25], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "texture": "#1"}
}
},
{
"from": [4, 7, 15],
"to": [4, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [10, 0, 10.25, 1.25], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [10.25, 0, 10, 1.25], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "rotation": 180, "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "rotation": 180, "texture": "#1"}
}
},
{
"from": [4, 6, 14],
"to": [4, 7, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [10.5, 1.25, 10.25, 1.5], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [10.5, 1.25, 10.25, 1.5], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "rotation": 180, "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "rotation": 180, "texture": "#1"}
}
},
{
"from": [12, 4, 15],
"to": [12, 12, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [1, 10, 1.25, 12], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [1.25, 10, 1, 12], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "rotation": 180, "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "rotation": 180, "texture": "#1"}
}
},
{
"from": [12, 3, 14],
"to": [12, 4, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#1"},
"east": {"uv": [1.25, 12, 1.5, 12.25], "texture": "#1"},
"south": {"uv": [0, 0, 0, 3], "texture": "#1"},
"west": {"uv": [1.5, 12, 1.25, 12.25], "texture": "#1"},
"up": {"uv": [0, 0.5, 0, 0], "rotation": 180, "texture": "#1"},
"down": {"uv": [0, 0, 0, 0.5], "rotation": 180, "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 0, 0.5],
"scale": [0.3, 0.3, 0.3]
},
"thirdperson_lefthand": {
"scale": [0.3, 0.3, 0.3]
},
"firstperson_righthand": {
"translation": [1.75, -0.25, 0],
"scale": [0.5, 0.5, 0.5]
},
"firstperson_lefthand": {
"translation": [3, 0, 0],
"scale": [0.5, 0.5, 0.5]
},
"ground": {
"translation": [0, -0.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"gui": {
"rotation": [18, 45, 0],
"translation": [0, -0.5, 0],
"scale": [0.65, 0.65, 0.65]
},
"head": {
"rotation": [0, -90, 0],
"scale": [1.2, 1.2, 1.2]
},
"fixed": {
"rotation": [-90, 0, 0],
"scale": [1.2, 1.2, 1.2]
}
},
"groups": [
{
"name": "group",
"origin": [8, 8, 8],
"color": 0,
"nbt": "{}",
"children": [
0,
1,
{
"name": "group",
"origin": [8, 8, 8],
"color": 0,
"nbt": "{}",
"children": [2, 3, 4, 5]
},
{
"name": "group",
"origin": [8, 8, 8],
"color": 0,
"nbt": "{}",
"children": [6, 7, 8, 9]
}
]
}
]
}

View file

@ -1,279 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"0": "tardim_ic:blocks/tardim_soviet_chronobox",
"particle": "tardim_ic:blocks/tardim_soviet_chronobox"
},
"elements": [
{
"from": [13, 0, 0],
"to": [15, 32, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [12.5, 0, 13, 8], "texture": "#0"},
"east": {"uv": [12.5, 0, 12.75, 8], "texture": "#0"},
"south": {"uv": [12.5, 0, 13, 8], "texture": "#0"},
"west": {"uv": [12.75, 0, 13, 8], "texture": "#0"},
"up": {"uv": [12.5, 0, 13, 0.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [12.5, 7.75, 13, 8], "rotation": 270, "texture": "#0"}
}
},
{
"from": [3, 0, 0],
"to": [13, 2, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [13, 7.5, 15.5, 8], "texture": "#0"},
"east": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#0"},
"south": {"uv": [13, 7.5, 15.5, 8], "texture": "#0"},
"west": {"uv": [15.75, 7.5, 16, 8], "texture": "#0"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 90, "texture": "#0"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 270, "texture": "#0"}
}
},
{
"from": [3, 15, 0],
"to": [13, 17, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [13, 3.75, 15.5, 4.25], "texture": "#0"},
"east": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#0"},
"south": {"uv": [13, 3.75, 15.5, 4.25], "texture": "#0"},
"west": {"uv": [15.75, 7.5, 16, 8], "texture": "#0"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 90, "texture": "#0"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 270, "texture": "#0"}
}
},
{
"from": [3, 17, 0],
"to": [13, 30, 0],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"east": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"south": {"uv": [12.5, 0, 10, 3.25], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "rotation": 270, "texture": "#0"}
}
},
{
"from": [3, 17, -16],
"to": [13, 30, -16],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 3.25, 12.5, 6.5], "texture": "#0"},
"east": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"south": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "rotation": 270, "texture": "#0"}
}
},
{
"from": [0, 17, -13],
"to": [0, 30, -3],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"east": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"south": {"uv": [12.5, 0, 10, 3.25], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "rotation": 270, "texture": "#0"}
}
},
{
"from": [16, 17, -13],
"to": [16, 30, -3],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"east": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"south": {"uv": [12.5, 0, 10, 3.25], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "rotation": 270, "texture": "#0"}
}
},
{
"from": [7, 18, 0.425],
"to": [9, 20, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"east": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"south": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"west": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"up": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"down": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"}
}
},
{
"from": [6, 19, 0.425],
"to": [7, 20, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"east": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"south": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"west": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"up": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"down": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"}
}
},
{
"from": [9, 19, 0.425],
"to": [10, 20, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"east": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"south": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"west": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"up": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"down": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"}
}
},
{
"from": [11, 20, 0.425],
"to": [12, 22, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"east": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"south": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"west": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"up": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"down": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"}
}
},
{
"from": [4, 20, 0.425],
"to": [5, 22, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"east": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"south": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"west": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"up": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"down": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"}
}
},
{
"from": [5, 21, 0.425],
"to": [6, 22, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"east": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"south": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"west": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"up": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"down": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"}
}
},
{
"from": [5, 22, 0.425],
"to": [11, 23, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"east": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"south": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"west": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"up": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"down": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"}
}
},
{
"from": [7, 23, 0.425],
"to": [9, 24, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"east": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"south": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"west": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"up": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"down": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"}
}
},
{
"from": [10, 21, 0.425],
"to": [11, 22, 0.425],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"east": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"south": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"west": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"up": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"down": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"}
}
},
{
"from": [3, 2, 0],
"to": [13, 15, 0],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"east": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"south": {"uv": [10, 3.25, 12.5, 6.5], "texture": "#0"},
"west": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"up": {"uv": [12.5, 3.25, 10, 6.5], "rotation": 90, "texture": "#0"},
"down": {"uv": [12.5, 3.25, 10, 6.5], "rotation": 270, "texture": "#0"}
}
},
{
"from": [3, 30, 0],
"to": [13, 32, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [13, 0, 15.5, 0.5], "texture": "#0"},
"east": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#0"},
"south": {"uv": [13, 0, 15.5, 0.5], "texture": "#0"},
"west": {"uv": [15.75, 7.5, 16, 8], "texture": "#0"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 90, "texture": "#0"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 270, "texture": "#0"}
}
},
{
"from": [1, 0, 0],
"to": [3, 32, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [15.5, 0, 16, 8], "texture": "#0"},
"east": {"uv": [15.5, 0, 15.75, 8], "texture": "#0"},
"south": {"uv": [15.5, 0, 16, 8], "texture": "#0"},
"west": {"uv": [15.75, 0, 16, 8], "texture": "#0"},
"up": {"uv": [15.5, 0, 16, 0.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [15.5, 7.75, 16, 8], "rotation": 270, "texture": "#0"}
}
},
{
"from": [2, 15.5, 0.5],
"to": [5, 16.5, 1.5],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [7.25, 0, 8, 0.25], "texture": "#0"},
"east": {"uv": [7, 0.5, 7.25, 0.75], "texture": "#0"},
"south": {"uv": [7.25, 0, 8, 0.25], "texture": "#0"},
"west": {"uv": [7.25, 0, 7.5, 0.25], "texture": "#0"},
"up": {"uv": [7.25, 0, 8, 0.25], "texture": "#0"},
"down": {"uv": [7.25, 0, 8, 0.25], "texture": "#0"}
}
}
],
"groups": [
{
"name": "group",
"origin": [0, 0, 0],
"color": 0,
"nbt": "{}",
"children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
}
]
}

View file

@ -1,279 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"0": "tardim_ic:blocks/tardim_soviet_chronobox",
"particle": "tardim_ic:blocks/tardim_soviet_chronobox"
},
"elements": [
{
"from": [14, 0, 1],
"to": [15, 32, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [12.5, 0, 12.75, 8], "texture": "#0"},
"east": {"uv": [12.5, 0, 13, 8], "texture": "#0"},
"south": {"uv": [12.75, 0, 13, 8], "texture": "#0"},
"west": {"uv": [12.5, 0, 13, 8], "texture": "#0"},
"up": {"uv": [12.5, 0, 13, 0.25], "texture": "#0"},
"down": {"uv": [12.5, 7.75, 13, 8], "texture": "#0"}
}
},
{
"from": [14, 0, 3],
"to": [15, 2, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#0"},
"east": {"uv": [13, 7.5, 15.5, 8], "texture": "#0"},
"south": {"uv": [15.75, 7.5, 16, 8], "texture": "#0"},
"west": {"uv": [13, 7.5, 15.5, 8], "texture": "#0"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "texture": "#0"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "texture": "#0"}
}
},
{
"from": [14, 15, 3],
"to": [15, 17, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#0"},
"east": {"uv": [13, 3.75, 15.5, 4.25], "texture": "#0"},
"south": {"uv": [15.75, 7.5, 16, 8], "texture": "#0"},
"west": {"uv": [13, 3.75, 15.5, 4.25], "texture": "#0"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "texture": "#0"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "texture": "#0"}
}
},
{
"from": [14, 17, 3],
"to": [14, 30, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"east": {"uv": [12.5, 0, 10, 3.25], "texture": "#0"},
"south": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"}
}
},
{
"from": [14.425, 18, 7],
"to": [14.425, 20, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"east": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"south": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"west": {"uv": [9.25, 1, 8.75, 1.5], "texture": "#0"},
"up": {"uv": [9.25, 1, 8.75, 1.5], "rotation": 270, "texture": "#0"},
"down": {"uv": [9.25, 1, 8.75, 1.5], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 19, 9],
"to": [14.425, 20, 10],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"east": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"south": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"west": {"uv": [8.75, 1, 8.5, 1.25], "texture": "#0"},
"up": {"uv": [8.75, 1, 8.5, 1.25], "rotation": 270, "texture": "#0"},
"down": {"uv": [8.75, 1, 8.5, 1.25], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 19, 6],
"to": [14.425, 20, 7],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"east": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"south": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"west": {"uv": [9.5, 1, 9.25, 1.25], "texture": "#0"},
"up": {"uv": [9.5, 1, 9.25, 1.25], "rotation": 270, "texture": "#0"},
"down": {"uv": [9.5, 1, 9.25, 1.25], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 20, 4],
"to": [14.425, 22, 5],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"east": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"south": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"west": {"uv": [10, 0.5, 9.75, 1], "texture": "#0"},
"up": {"uv": [10, 0.5, 9.75, 1], "rotation": 270, "texture": "#0"},
"down": {"uv": [10, 0.5, 9.75, 1], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 20, 11],
"to": [14.425, 22, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"east": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"south": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"west": {"uv": [8.25, 0.5, 8, 1], "texture": "#0"},
"up": {"uv": [8.25, 0.5, 8, 1], "rotation": 270, "texture": "#0"},
"down": {"uv": [8.25, 0.5, 8, 1], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 21, 10],
"to": [14.425, 22, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"east": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"south": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"west": {"uv": [8.5, 0.5, 8.25, 0.75], "texture": "#0"},
"up": {"uv": [8.5, 0.5, 8.25, 0.75], "rotation": 270, "texture": "#0"},
"down": {"uv": [8.5, 0.5, 8.25, 0.75], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 22, 5],
"to": [14.425, 23, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"east": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"south": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"west": {"uv": [9.75, 0.25, 8.25, 0.5], "texture": "#0"},
"up": {"uv": [9.75, 0.25, 8.25, 0.5], "rotation": 270, "texture": "#0"},
"down": {"uv": [9.75, 0.25, 8.25, 0.5], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 23, 7],
"to": [14.425, 24, 9],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"east": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"south": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"west": {"uv": [9.25, 0, 8.75, 0.25], "texture": "#0"},
"up": {"uv": [9.25, 0, 8.75, 0.25], "rotation": 270, "texture": "#0"},
"down": {"uv": [9.25, 0, 8.75, 0.25], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14.425, 21, 5],
"to": [14.425, 22, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"east": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"south": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"west": {"uv": [9.75, 0.5, 9.5, 0.75], "texture": "#0"},
"up": {"uv": [9.75, 0.5, 9.5, 0.75], "rotation": 270, "texture": "#0"},
"down": {"uv": [9.75, 0.5, 9.5, 0.75], "rotation": 90, "texture": "#0"}
}
},
{
"from": [14, 2, 3],
"to": [14, 15, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"east": {"uv": [10, 3.25, 12.5, 6.5], "texture": "#0"},
"south": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"west": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"up": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"down": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"}
}
},
{
"from": [14, 30, 3],
"to": [15, 32, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#0"},
"east": {"uv": [13, 0, 15.5, 0.5], "texture": "#0"},
"south": {"uv": [15.75, 7.5, 16, 8], "texture": "#0"},
"west": {"uv": [13, 0, 15.5, 0.5], "texture": "#0"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "texture": "#0"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "texture": "#0"}
}
},
{
"from": [14, 0, 13],
"to": [15, 32, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [15.5, 0, 15.75, 8], "texture": "#0"},
"east": {"uv": [15.5, 0, 16, 8], "texture": "#0"},
"south": {"uv": [15.75, 0, 16, 8], "texture": "#0"},
"west": {"uv": [15.5, 0, 16, 8], "texture": "#0"},
"up": {"uv": [15.5, 0, 16, 0.25], "texture": "#0"},
"down": {"uv": [15.5, 7.75, 16, 8], "texture": "#0"}
}
},
{
"from": [14.5, 15.5, 11],
"to": [15.5, 16.5, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [7, 0.5, 7.25, 0.75], "texture": "#0"},
"east": {"uv": [7.25, 0, 8, 0.25], "texture": "#0"},
"south": {"uv": [7.25, 0, 7.5, 0.25], "texture": "#0"},
"west": {"uv": [7.25, 0, 8, 0.25], "texture": "#0"},
"up": {"uv": [7.25, 0, 8, 0.25], "rotation": 270, "texture": "#0"},
"down": {"uv": [7.25, 0, 8, 0.25], "rotation": 90, "texture": "#0"}
}
},
{
"from": [16, 17, -13],
"to": [16, 30, -3],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"east": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"south": {"uv": [12.5, 0, 10, 3.25], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "rotation": 270, "texture": "#0"}
}
},
{
"from": [0, 17, -13],
"to": [0, 30, -3],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"east": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"south": {"uv": [12.5, 0, 10, 3.25], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "rotation": 270, "texture": "#0"}
}
},
{
"from": [3, 17, -16],
"to": [13, 30, -16],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 0, 0]},
"faces": {
"north": {"uv": [10, 3.25, 12.5, 6.5], "texture": "#0"},
"east": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"south": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#0"},
"west": {"uv": [10, 0, 12.5, 3.25], "texture": "#0"},
"up": {"uv": [10, 0, 12.5, 3.25], "rotation": 90, "texture": "#0"},
"down": {"uv": [10, 0, 12.5, 3.25], "rotation": 270, "texture": "#0"}
}
}
],
"groups": [
{
"name": "group",
"origin": [0, 0, 0],
"color": 0,
"nbt": "{}",
"children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
}
]
}

View file

@ -1,16 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"particle": "tardim:block/tardim_tt"
},
"groups": [
{
"name": "group",
"origin": [0, 0, 0],
"color": 0,
"nbt": "{}",
"children": []
}
]
}

View file

@ -1,97 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"1": "tardim_ic:blocks/tardim_soviet_chronobox",
"particle": "tardim:block/tardim_tt"
},
"elements": [
{
"from": [1, 0, 0],
"to": [3, 32, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [12.5, 0, 13, 8], "texture": "#1"},
"east": {"uv": [12.75, 0, 13, 8], "texture": "#1"},
"south": {"uv": [12.5, 0, 13, 8], "texture": "#1"},
"west": {"uv": [12.5, 0, 12.75, 8], "texture": "#1"},
"up": {"uv": [12.5, 0, 13, 0.25], "rotation": 270, "texture": "#1"},
"down": {"uv": [12.5, 7.75, 13, 8], "rotation": 90, "texture": "#1"}
}
},
{
"from": [3, 0, 0],
"to": [13, 2, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [13, 7.5, 15.5, 8], "texture": "#1"},
"east": {"uv": [15.75, 7.5, 16, 8], "texture": "#1"},
"south": {"uv": [13, 7.5, 15.5, 8], "texture": "#1"},
"west": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#1"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 270, "texture": "#1"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 90, "texture": "#1"}
}
},
{
"from": [3, 15, 0],
"to": [13, 17, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [13, 3.75, 15.5, 4.25], "texture": "#1"},
"east": {"uv": [15.75, 7.5, 16, 8], "texture": "#1"},
"south": {"uv": [13, 3.75, 15.5, 4.25], "texture": "#1"},
"west": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#1"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 270, "texture": "#1"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 90, "texture": "#1"}
}
},
{
"from": [3, 2, 0],
"to": [13, 15, 0],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [10, 3.25, 12.5, 6.5], "texture": "#1"},
"east": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#1"},
"south": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#1"},
"west": {"uv": [12.5, 3.25, 10, 6.5], "texture": "#1"},
"up": {"uv": [12.5, 3.25, 10, 6.5], "rotation": 270, "texture": "#1"},
"down": {"uv": [12.5, 3.25, 10, 6.5], "rotation": 90, "texture": "#1"}
}
},
{
"from": [3, 30, 0],
"to": [13, 32, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [13, 0, 15.5, 0.5], "texture": "#1"},
"east": {"uv": [15.75, 7.5, 16, 8], "texture": "#1"},
"south": {"uv": [13, 0, 15.5, 0.5], "texture": "#1"},
"west": {"uv": [15.25, 7.5, 15.5, 8], "texture": "#1"},
"up": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 270, "texture": "#1"},
"down": {"uv": [15.75, 5.25, 16, 7.75], "rotation": 90, "texture": "#1"}
}
},
{
"from": [13, 0, 0],
"to": [15, 32, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
"faces": {
"north": {"uv": [15.5, 0, 16, 8], "texture": "#1"},
"east": {"uv": [15.75, 0, 16, 8], "texture": "#1"},
"south": {"uv": [15.5, 0, 16, 8], "texture": "#1"},
"west": {"uv": [15.5, 0, 15.75, 8], "texture": "#1"},
"up": {"uv": [15.5, 0, 16, 0.25], "rotation": 270, "texture": "#1"},
"down": {"uv": [15.5, 7.75, 16, 8], "rotation": 90, "texture": "#1"}
}
}
],
"groups": [
{
"name": "group",
"origin": [0, 0, 0],
"color": 0,
"nbt": "{}",
"children": [0, 1, 2, 3, 4, 5]
}
]
}

View file

@ -1,13 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"groups": [
{
"name": "group",
"origin": [0, 0, 0],
"color": 0,
"nbt": "{}",
"children": []
}
]
}

View file

@ -1,22 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"0": "tardim_ic:blocks/tardim_soviet_chronobox",
"particle": "tardim_ic:blocks/tardim_soviet_chronobox"
},
"elements": [
{
"from": [-4, 16, 4.15],
"to": [20, 24, 4.15],
"faces": {
"north": {"uv": [0, 2, 6, 4], "texture": "#0"},
"east": {"uv": [0, 0, 0, 2], "texture": "#0"},
"south": {"uv": [0, 2, 6, 4], "texture": "#0"},
"west": {"uv": [0, 0, 0, 2], "texture": "#0"},
"up": {"uv": [0, 0, 6, 0], "texture": "#0"},
"down": {"uv": [0, 0, 6, 0], "texture": "#0"}
}
}
]
}

View file

@ -1,22 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"0": "tardim_ic:blocks/tardim_soviet_chronobox",
"particle": "tardim_ic:blocks/tardim_soviet_chronobox"
},
"elements": [
{
"from": [-4, 16, 4.15],
"to": [20, 24, 4.15],
"faces": {
"north": {"uv": [0, 2, 6, 4], "texture": "#0"},
"east": {"uv": [0, 0, 0, 2], "texture": "#0"},
"south": {"uv": [0, 2, 6, 4], "texture": "#0"},
"west": {"uv": [0, 0, 0, 2], "texture": "#0"},
"up": {"uv": [0, 0, 6, 0], "texture": "#0"},
"down": {"uv": [0, 0, 6, 0], "texture": "#0"}
}
}
]
}

View file

@ -1,73 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"1": "tardim_ic:blocks/tardim_soviet_chronobox",
"particle": "tardim_ic:blocks/tardim_soviet_chronobox"
},
"elements": [
{
"from": [0, 0.1, 0],
"to": [16, 0.1, 16],
"faces": {
"north": {"uv": [1.5, 15.75, 5.5, 16], "texture": "#1"},
"east": {"uv": [1.75, 15.75, 5.75, 16], "texture": "#1"},
"south": {"uv": [1.5, 15.75, 5.5, 16], "texture": "#1"},
"west": {"uv": [1.75, 15.75, 5.75, 16], "texture": "#1"},
"up": {"uv": [12, 8, 16, 12], "texture": "#1"},
"down": {"uv": [12, 8, 16, 12], "texture": "#1"}
}
},
{
"from": [-2, 0, -2],
"to": [1, 32, 1],
"faces": {
"north": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"east": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"south": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"west": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"up": {"uv": [11.25, 8.75, 12, 8], "texture": "#1"},
"down": {"uv": [11.25, 16, 12, 15.25], "texture": "#1"}
}
},
{
"from": [-2, 0, 15],
"to": [1, 32, 18],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]},
"faces": {
"north": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"east": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"south": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"west": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"up": {"uv": [11.25, 8, 12, 8.75], "texture": "#1"},
"down": {"uv": [11.25, 15.25, 12, 16], "texture": "#1"}
}
},
{
"from": [15, 0, -2],
"to": [18, 32, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
"faces": {
"north": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"east": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"south": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"west": {"uv": [12, 16, 11.25, 8], "texture": "#1"},
"up": {"uv": [12, 8.75, 11.25, 8], "texture": "#1"},
"down": {"uv": [12, 16, 11.25, 15.25], "texture": "#1"}
}
},
{
"from": [15, 0, 15],
"to": [18, 32, 18],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 16]},
"faces": {
"north": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"east": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"south": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"west": {"uv": [11.25, 16, 12, 8], "texture": "#1"},
"up": {"uv": [12, 8, 11.25, 8.75], "texture": "#1"},
"down": {"uv": [12, 15.25, 11.25, 16], "texture": "#1"}
}
}
]
}

View file

@ -1,22 +0,0 @@
{
"credit": "Made by karoter2",
"texture_size": [64, 64],
"textures": {
"0": "tardim_ic:blocks/tardim_soviet_chronobox",
"particle": "tardim_ic:blocks/tardim_soviet_chronobox"
},
"elements": [
{
"from": [-4, 0, -4],
"to": [20, 8, 20],
"faces": {
"north": {"uv": [0, 0, 6, 2], "texture": "#0"},
"east": {"uv": [0, 0, 6, 2], "texture": "#0"},
"south": {"uv": [0, 0, 6, 2], "texture": "#0"},
"west": {"uv": [0, 0, 6, 2], "texture": "#0"},
"up": {"uv": [0, 4, 6, 10], "texture": "#0"},
"down": {"uv": [0, 4, 6, 10], "texture": "#0"}
}
}
]
}

View file

@ -1,23 +0,0 @@
{
"parent": "tardim_ic:block/food_machine",
"display": {
"thirdperson_righthand": {
"rotation": [ 75, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ],
"translation": [ 0, 1, 0 ]
},
"thirdperson_lefthand": {
"rotation": [ 75, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ],
"translation": [ 0, 1, 0 ]
},
"firstperson_lefthand": {
"rotation": [ 0, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ]
},
"firstperson_righthand": {
"rotation": [ 0, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ]
}
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "tardim_ic:item/personal_jammer"
}
}

View file

@ -1,23 +0,0 @@
{
"parent": "tardim_ic:block/tardim_dock",
"display": {
"thirdperson_righthand": {
"rotation": [ 75, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ],
"translation": [ 0, 1, 0 ]
},
"thirdperson_lefthand": {
"rotation": [ 75, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ],
"translation": [ 0, 1, 0 ]
},
"firstperson_lefthand": {
"rotation": [ 0, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ]
},
"firstperson_righthand": {
"rotation": [ 0, 45, 0 ],
"scale": [ 0.40, 0.40, 0.40 ]
}
}
}

View file

@ -1,9 +0,0 @@
{
"cloister": {
"subtitle": "subtitles.tardim_ic.cloister",
"sounds": [
"tardim_ic:cloister"
]
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 927 B

View file

@ -1,7 +0,0 @@
{
"animation": {
"frametime": 10,
"interpolate": true,
"frames": [0, 1, 2, 3]
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 923 B

View file

@ -1,7 +0,0 @@
{
"animation": {
"frametime": 10,
"interpolate": true,
"frames": [0, 1, 2, 3]
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

View file

@ -1,5 +0,0 @@
--[[
This is source code of my personal TARDIM Navigation Dashboard (NavDash)
It needs a 1x2 (2 tall) monitor and a digital TARDIM interface to be available
]

View file

@ -1,12 +0,0 @@
-- This is a very basic test script
-- This basically just verifies the mod works
local int = peripheral.find("digital_tardim_interface")
if int == nil then
error("No interface found")
end
print(int.getOwnerName() .. "'s TARDIM")
print("FUEL: " .. int.getFuel() .. "/100")
print("IN FLIGHT? " .. int.isInFlight())
print("IS LOCKED? " .. int.isLocked())

View file

@ -1,6 +0,0 @@
{
"pack": {
"description": "${mod_name}",
"pack_format": 8
}
}

View file

@ -1,13 +0,0 @@
{
"required": true,
"minVersion": "0.8",
"package": "su.a71.tardim_ic.mixin",
"refmap": "${mod_id}.refmap.json",
"compatibilityLevel": "JAVA_17",
"mixins": [
],
"injectors": {
"defaultRequire": 1
}
}

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,42 +0,0 @@
@font-face {
font-family: 'ComputerCraft';
src: url('fonts/ComputerCraft.woff2') format('woff2'),
url('fonts/ComputerCraft.woff') format('woff');
font-weight: 500;
font-style: normal;
font-display: swap;
}
code {
font-family: ComputerCraft, monospace;
}
.wy-side-nav-search {
background-color: #d2651d;
}
.wy-side-nav-search input[type="text"] {
border-color: #d96b25;
}
.wy-menu-vertical header, .wy-menu-vertical p.caption {
color: #e78e53;
}
.section > h1 > img {
max-width: 15%;
}
.rst-content img {
image-rendering: pixelated;
image-rendering: -moz-crisp-edges;
image-rendering: crisp-edges;
width: 50px;
}
.section > p:nth-child(5) > img:nth-child(1), .section > p:nth-child(4) > img:nth-child(1) {
max-width: 100%;
width: 75%;
}

View file

@ -1,7 +0,0 @@
# ![Block model](../assets/img/blocks/food_machine.png) Food Machine
This block lets you exchange some of your TARDIM's fuel for food.
I plan to make it work with datapacks and let you switch between different types of food at different prices.
However, right now it is creative mode only and dispenses bread. If you want, you can add crafting recipe for it on your own,
but it is not recommended since I haven't finished it yet

View file

@ -1,5 +0,0 @@
# ![Block model](../assets/img/blocks/redstone_tardim_input.png) Redstone TARDIM Input
This block acts same as other TARDIM control panels, but is activated when redstone signal is passed to it.
## Crafting
![Crafting recipe](../assets/img/crafting/redstone_input.png)

View file

@ -1,22 +0,0 @@
# New TARDIM commands
## Cloister bell
Usage - `/cloister-bell`
Makes a loud cloister bell sound from the TV show, to signal warning or other notifications. Usage with redstone input recommended
---
## List biomes
Usage - `/list-biomes <..search_query>`
Lists all existing biomes for better experience with `/locate-biome` and parity with CC integration.
Can be used with no parameters to get all biomes or with a search string to only show biomes that contain it in their name
---
## List dimensions
Usage - `/list-dimensions`
Lists all existing dimensions for better experience with travel and parity with CC integration.

View file

@ -1,25 +0,0 @@
# ComputerCraft compatibility
If you have ComputerCraft: Tweaked installed,
TARDIM: IC provides quite a few peripherals.
The main one is new Digital TARDIM Interface,
which gives you complete control over your TARDIM.
However, some TARDIM blocks also receive getters for information related to them.
## ComputerCraft for beginners
ComputerCraft adds working computers to minecraft, controlled by Lua language.
If you are new, [CC's official discord](https://discord.com/servers/minecraft-computer-mods-477910221872824320) has a lot of people who can help.
I also suggest taking a look at [Lua's website](https://www.lua.org/start.html) and [CC: Tweaked's documentaion](https://tweaked.cc)
Please do not ask questions about ComputerCraft itself in TARDIM: IC's Discord. I am far from the most experienced user of that mod.
## Notes about mod's peripherals
All of the peripherals throw if they are called outside a TARDIM. Only digital interface has ability to **set** data, others can only **get**.
## Available peripherals
| Type | Description |
|-----------------------------------------------------------|----------------------------------------------------------------------------------------|
| [**Digital Interface**](peripherals/digital_interface.md) | Total control over your TARDIM. |
| [**Fuel Storage**](peripherals/fuel_storage.md) | Gives info about fuel. |
| [**TARDIM Scanner**](peripherals/tardim_scanner.md) | Gives info about TARDIM's inhabitants and things like existing biomes, online players. |
| [**Time Rotor**](peripherals/time_rotor.md) | Gives info about flight status, destination and current location. |

View file

@ -1,299 +0,0 @@
# ![Peripheral model](../../assets/img/blocks/digital_tardim_interface.png) Digital TARDIM Interface
This peripheral allows you to do basically anything any other TARDIM control panel can, but automatically.
Attach name - `"digital_tardim_interface"`
## Crafting
![Crafting recipe](../../assets/img/crafting/digital_interface.png)
## Methods
### `getFuel()`
Get how much fuel the TARDIM has.
**Returns**
1. `number` The amount of fuel, from 0 to 100. Not rounded.
---
### `calculateFuelForJourney()`
Get how much fuel the TARDIM would use if you travelled to destination.
**Returns**
1. `number` The amount of fuel
---
### `isLocked()`
Check whether the TARDIM's doors are locked
**Returns**
1. `bool` Whether the doors are locked
---
### `setLocked(locked)`
Sets the TARDIM's lock
**Parameters**
1. locked `bool`: true to lock doors, false to unlock
---
### `isInFlight()`
Check whether the TARDIM is in flight
**Returns**
1. `bool` Whether the TARDIM is in flight
---
### `getTimeEnteredFlight()`
Get UNIX timestamp of when the TARDIM entered flight
**Returns**
1. `number` Unix timestamp or -1 if TARDIM is landed
---
### `getOwnerName()`
Will write the given input to the linked display.
**Returns**
1. `string` The username of TARDIM's owner
---
### `getCurrentLocation()`
Retrieve the TARDIM's current location
**Returns**
1. `table` The location of the tardim:
```
{
dimension = "minecraft:overworld", -- Dimension string
pos = { -- Coordinates
x = 1,
y = 2,
z = 3
}
}
```
---
### `getTravelLocation()`
The same as `getCurrentLocation()` but for destination
---
### `getCompanions()`
Get all list of all companions in the TARDIM
**Returns**
1. `table` list of companions' names
---
### `setDimension(dimension)`
Set TARDIM's destination to a dimension
**Parameters**
1. dimension `string`: dimension's name e.g. "minecraft:overworld"
---
### `setTravelLocation(x, y, z)`
Set TARDIM's destination coordinates
**Parameters**
1. x `number`: x-axis of destination
2. y `number`: y-axis of destination
3. z `number`: z-axis of destination
---
### `home()`
Set TARDIM's destination to roughly owner's respawn point
---
### `locatePlayer(username)`
Set TARDIM's destination to a player's coordinates
**Parameters**
1. username `string`: player's username. the player must be online.
---
### `getOnlinePlayers()`
Get all list of all online players
**Returns**
1. `table` list of players' names
---
### `getDoorRotation()`
Get current door rotation
**Returns**
1. `string` direction - "north"/"west"/"south"/"east"
---
### `setDoorRotation(rotation)`
Get current door rotation
**Parameters**
1. rotation `string` direction string - "north"/"west"/"south"/"east"
---
### `toggleDoorRotation()`
Toggle door rotation north -> east -> south -> west -> north
---
### `coordAdd(axis, amount)`
Add a number to the destination's coordinates
**Parameters**
1. axis `string` x/y/z
2. amount `number` how much to add/substract
---
### `demat()`
Dematerialise the TARDIM. Throws if TARDIM is in flight already.
---
### `remat()`
Re-materialise the TARDIM at the destination.
**Throws if**
1. TARDIM landing is obstructed
2. Not enough fuel for journey
3. TARDIM is still taking off
4. TARDIM has already landed
---
### `locateBiome(biome)`
Set destination to somewhere in a specific biome.
**Parameters**
1. biome `string` biome name e.g. minecraft:badlands or terralith:skylands_spring
**Throws if**
1. Biome has not been founded near
2. Biome name is wrong
---
### `setSkin(skin)`
Set TARDIM's exterior to a skin
**Parameters**
1. skin `string` exterior name e.g. "TARDIM Type 2k18" or "TARDIM Soviet Chronobox"
**Throws if**
1. Skin was not found
---
### `getSkins()`
Get all list of all available exteriors
**Returns**
1. `table` list of exteriors' names
---
### `setSkin(skin)`
Set TARDIM's exterior to a skin
**Parameters**
1. skin `string` exterior name e.g. "TARDIM Type 2k18" or "TARDIM Soviet Chronobox"
---
### `cloisterBell()`
Play the cloister bell sound in the exterior (originates from the peripheral block)
**Throws if**
1. There was an error playing the sound (unlikely)
---
### `getBiomes()`
Get all list of all existing biomes
**Returns**
1. `table` list of biomes' names
---
### `getDimensions()`
Get all list of all existing dimensions
**Returns**
1. `table` list of dimensions' names

View file

@ -1,23 +0,0 @@
# ![Peripheral model](../../assets/img/blocks/fuel_storage.png) Fuel Storage Block
This peripheral, attached to a TARDIM fuel storage block, gives you access to 2 fuel-related methods
Attach name - `"tardim_fuel_storage"`
## Methods
### `getFuel()`
Get how much fuel the TARDIM has.
**Returns**
1. `number` The amount of fuel, from 0 to 100. Not rounded.
---
### `calculateFuelForJourney()`
Get how much fuel the TARDIM would use if you travelled to destination.
**Returns**
1. `number` The amount of fuel

View file

@ -1,64 +0,0 @@
# ![Peripheral model](../../assets/img/blocks/scanner.png) TARDIM Scanner Block
This peripheral, attached to TARDIM's scanner block, lets you fetch some data related to world's environment
Attach name - `"tardim_scanner"`
## Methods
### `getOwnerName()`
Will write the given input to the linked display.
**Returns**
1. `string` The username of TARDIM's owner
---
### `getCompanions()`
Get all list of all companions in the TARDIM
**Returns**
1. `table` list of companions' names
---
### `getOnlinePlayers()`
Get all list of all online players
**Returns**
1. `table` list of players' names
---
### `getSkins()`
Get all list of all available exteriors
**Returns**
1. `table` list of exteriors' names
---
### `getBiomes()`
Get all list of all existing biomes
**Returns**
1. `table` list of biomes' names
---
### `getDimensions()`
Get all list of all existing dimensions
**Returns**
1. `table` list of dimensions' names

View file

@ -1,52 +0,0 @@
# ![Peripheral model](../../assets/img/blocks/rotor.png) Rotor Block
This peripheral, attached to TARDIM's time rotor, allows you to get info about TARDIM's flight status.
Attach name - `"tardim_rotor"`
## Methods
### `isInFlight()`
Check whether the TARDIM is in flight
**Returns**
1. `bool` Whether the TARDIM is in flight
---
### `getTimeEnteredFlight()`
Get UNIX timestamp of when the TARDIM entered flight
**Returns**
1. `number` Unix timestamp or -1 if TARDIM is landed
---
### `getCurrentLocation()`
Retrieve the TARDIM's current location
**Returns**
1. `table` The location of the tardim:
```
{
dimension = "minecraft:overworld", -- Dimension string
pos = { -- Coordinates
x = 1,
y = 2,
z = 3
}
}
```
---
### `getTravelLocation()`
The same as `getCurrentLocation()` but for destination

View file

@ -1,3 +0,0 @@
# Create compatibility
This is not yet implemented due to lack of Create Fabric for 1.20. However, I have a few working 1.19.2 display sources that I intend to add when Create is out.

View file

@ -1,4 +0,0 @@
## Welcome to TARDIM: IC docs!
This mod aims to improve TARDIM by adding new features and integration with other mods such as ComputerCraft or Create.
Please note that v1.2 is a big jump in terms of rewrites and new features. Therefore, not all features are available yet. If you see errors in the docs, feel free to point it out in Discord.

View file

@ -1,6 +0,0 @@
# Changes to vanilla TARDIM
## New fuel system
With TARDIM: In Control, you can insert any furnace-compatible fuel into the fuel storage block without having to make a datapack for it.
Also, buckets will no longer disappear from hopper, and only their contents will be taken.

View file

@ -1,6 +0,0 @@
# Planned features
I do not guarantee these will be added or have a timeline, but here are features I designed and wish to implement in the future
* ![Block model](assets/img/blocks/tardim_dock.png) TARDIM Dock - A block that lets you get to a location by a simple ID and handles location and rotation for you. This will also let TARDIMs land on Create: Aeronautics contraptions once that mod is out
* ![Item texture](assets/img/blocks/cartridge_blue.png) Location cartridges - No code way to save location to an item and travel there whenever you want.
* ![Wearable model](assets/img/blocks/jammer.png) Personal location jammer - Wearable item that lets you prevent others from locking onto your position.

View file

3
examples/.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,3 @@
{
"Lua.runtime.version": "Lua 5.4"
}

Some files were not shown because too many files have changed in this diff Show more