Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
5fc92b5780 Create new branch with working NeoForged mod 2023-10-07 10:14:55 +03:00
d989f493c2 Revert "Begin fixing this mess"
This reverts commit 1d19f464c5.
2023-10-06 20:25:50 +03:00
178 changed files with 516 additions and 6263 deletions

1
.gitignore vendored
View file

@ -21,4 +21,3 @@ build
# other # other
eclipse eclipse
run run
/.idea/

View file

@ -1,49 +1,43 @@
![TARDIM: IC Banner](https://cdn.modrinth.com/data/xsv4H3pa/images/561e86895ec0b73d8fcbfb8bb83d4cc92b15734d.png)
### All of time and space, *now automated and improved*.
This mod is an addon for the [TARDIM mod](https://www.curseforge.com/minecraft/mc-mods/tardim), Installation information
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: This template repository can be directly cloned to get you started with a new
* New commands that let you ring cloister bell or list all biomes and dimensions mod. Simply create a new repository cloned from this one, by following the
* Improved fuel system, which will take in any furnace fuel and won't consume buckets instructions at [github](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).
* 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
* 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 Once you have your clone, you can initialize your copy.
* 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.
* 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! Setup Process:
--------
## Documentation Step 1: Open your command-line and browse to the folder where you extracted cloned your copy of this repository to.
Information about the mod's blocks and integration, crafting recipes, and plans for development are available at https://tardim.a71.su
## FAQ Step 2: You're left with a choice.
If you prefer to use Eclipse:
1. Run the following command: `gradlew genEclipseRuns` (`./gradlew genEclipseRuns` if you are on Mac/Linux)
2. Open Eclipse, Import > Existing Gradle Project > Select Folder
or run `gradlew eclipse` to generate the project.
**Is this for Fabric or Forge?** If you prefer to use IntelliJ:
: Both! As a Fabric player who recognises Forge's large playerbase, I support both major modloaders. 1. Open IDEA, and import project.
However, due to nature of development Fabric versions may get released a bit earlier. 2. Select your build.gradle file and have it import.
3. Run the following command: `gradlew genIntellijRuns` (`./gradlew genIntellijRuns` if you are on Mac/Linux)
4. Refresh the Gradle Project in IDEA if required.
**Can I use this in my modpack?** If at any point you are missing libraries in your IDE, or you've run into problems you can
: Sure, as long as you don't claim the mod as your own. A link to this mod's page would be appreciated too. run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything
{this does not affect your code} and then start the process again.
**Will there be a 1.20.1 version and beyond?** Mapping Names:
: I am in the process of moving to 1.20, with Fabric already out and Forge in progress. ============
I intend to follow latest versions with TARDIM. By default, the MDK is configured to use the official mapping names from Mojang for methods and fields
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this
license, if you do not agree with it you can change your mapping names to other crowdsourced names in your
build.gradle. For the latest license text, refer to the mapping file itself, or the reference copy here:
https://github.com/NeoForged/NeoForm/blob/main/Mojang.md
**I encountered a bug or have a suggestion. What do I do?** Additional Resources:
: If you have a problem or suggestion, the best way to get them to me is through the project's Discord server. ==========
Community Documentation: https://docs.neoforged.net/
**Do I need to install things like ComputerCraft or Create for this mod?** NeoForged Discord: https://discord.neoforged.net/
: 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,209 @@
plugins { plugins {
id 'fabric-loom' version '1.3-SNAPSHOT' apply(false) id 'eclipse'
id 'net.neoforged.gradle' version '[6.0.18,6.2)' apply(false) id 'idea'
id 'org.spongepowered.gradle.vanilla' version '0.2.1-SNAPSHOT' apply(false) id 'maven-publish'
id("org.spongepowered.mixin") version "0.7-SNAPSHOT" apply(false) id 'net.neoforged.gradle' version '[6.0.18,6.2)'
id 'org.spongepowered.mixin' version '0.7.+'
} }
subprojects { version = mod_version
apply plugin: 'java' group = mod_group_id
java.toolchain.languageVersion = JavaLanguageVersion.of(17) base {
java.withSourcesJar() archivesName = mod_id
java.withJavadocJar() }
jar { // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
from(rootProject.file("LICENSE")) { java.toolchain.languageVersion = JavaLanguageVersion.of(17)
rename { "${it}_${mod_name}" }
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
minecraft {
// The mappings can be changed at any time and must be in the following format.
// Channel: Version:
// official MCVersion Official field/method names from Mojang mapping files
// parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official
//
// You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
// See more information here: https://github.com/NeoForged/NeoForm/blob/main/Mojang.md
//
// Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
// Additional setup is needed to use their mappings: https://parchmentmc.org/docs/getting-started
//
// Use non-default mappings at your own risk. They may not always work.
// Simply re-run your setup task after changing the mappings to update your workspace.
mappings channel: mapping_channel, version: mapping_version
// When true, this property will have all Eclipse/IntelliJ IDEA run configurations run the "prepareX" task for the given run configuration before launching the game.
// In most cases, it is not necessary to enable.
// enableEclipsePrepareRuns = true
// enableIdeaPrepareRuns = true
// This property allows configuring Gradle's ProcessResources task(s) to run on IDE output locations before launching the game.
// It is REQUIRED to be set to true for this template to function.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
copyIdeResources = true
// When true, this property will add the folder name of all declared run configurations to generated IDE run configurations.
// The folder name can be set on a run configuration using the "folderName" property.
// By default, the folder name of a run configuration is the name of the Gradle project containing it.
// generateRunFolders = true
// This property enables access transformers for use in development.
// They will be applied to the Minecraft artifact.
// The access transformer file can be anywhere in the project.
// However, it must be at "META-INF/accesstransformer.cfg" in the final mod jar to be loaded by Forge.
// This default location is a best practice to automatically put the file in the right place in the final jar.
// See https://docs.neoforged.net/docs/1.20.x/advanced/accesstransformers/ for more information.
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
// Default run configurations.
// These can be tweaked, removed, or duplicated as needed.
runs {
// applies to all the run configs below
configureEach {
workingDirectory project.file("run/${it.name}")
// Recommended logging data for a userdev environment
// The markers can be added/remove as needed separated by commas.
// "SCAN": For mods scan.
// "REGISTRIES": For firing of registry events.
// "REGISTRYDUMP": For getting the contents of all registries.
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 {
"${mod_id}" {
source sourceSets.main
}
}
} }
manifest {
attributes([ client {
'Specification-Title' : mod_name, // Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
'Specification-Vendor' : mod_author, property 'forge.enabledGameTestNamespaces', mod_id
'Specification-Version' : project.jar.archiveVersion, }
server {
property 'forge.enabledGameTestNamespaces', mod_id
args '--nogui'
}
// This run config launches GameTestServer and runs all registered gametests, then exits.
// By default, the server will crash when no gametests are provided.
// The gametest system is also enabled by default for other run configs under the /test command.
gameTestServer {
property 'forge.enabledGameTestNamespaces', mod_id
}
data {
// example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
// workingDirectory project.file('run-data')
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
}
}
}
// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }
repositories {
// Put repositories for dependencies here
// NeoGradle automatically adds the Forge maven and Maven Central for you
// If you have mod jar dependencies in ./libs, you can declare them as a repository like so.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:flat_dir_resolver
// flatDir {
// dir 'libs'
// }
}
dependencies {
// Specify the version of Minecraft to use.
// Any artifact can be supplied so long as it has a "userdev" classifier artifact and is a compatible patcher artifact.
// The "userdev" classifier will be requested and setup by NeoGradle.
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
minecraft "net.neoforged:forge:${minecraft_version}-${neo_version}"
// Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}-common-api:${jei_version}")
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}")
// runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")
// Example mod dependency using a mod jar from ./libs with a flat dir repository
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
// The group id is ignored when searching -- in this case, it is "blank"
// implementation fg.deobf("blank:coolmod-${mc_version}:${coolmod_version}")
// For more info:
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
}
// This block of code expands all declared replace properties in the specified resource targets.
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range,
neo_version : neo_version, neo_version_range: neo_version_range,
loader_version_range: loader_version_range,
mod_id : mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version,
mod_authors : mod_authors, mod_description: mod_description, pack_format_number: pack_format_number,
]
inputs.properties replaceProperties
filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {
expand replaceProperties + [project: project]
}
}
// Example for how to get properties into the manifest for reading at runtime.
tasks.named('jar', Jar).configure {
manifest {
attributes([
'Specification-Title' : mod_id,
'Specification-Vendor' : mod_authors,
'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.jar.archiveVersion,
'Implementation-Vendor' : mod_author, 'Implementation-Vendor' : mod_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 { // This is the preferred method to reobfuscate your jar file
from(rootProject.file("LICENSE")) { finalizedBy 'reobfJar'
rename { "${it}_${mod_name}" } }
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing:
// tasks.named('publish').configure {
// dependsOn 'reobfJar'
// }
// Example configuration to allow publishing using the maven-publish plugin
publishing {
publications {
register('mavenJava', MavenPublication) {
artifact jar
} }
} }
repositories { repositories {
mavenCentral()
maven { maven {
name = 'Sponge / Mixin' url "file://${project.projectDir}/mcmodsrepo"
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
} }
} }
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}

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,74 +0,0 @@
package su.a71.tardim_ic.command;
// This will be added whenever I manage to convince TARDIM devs to make CommandManager.register public
// 13.04.23 ITS ALIVE
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 dan200.computercraft.api.ComputerCraftAPI;
import dan200.computercraft.api.network.Packet;
import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.player.Player;
/*
This command sends out a ComputerCraft modem signal
This could be useful for connecting advanced navigation systems into "vanilla" controls
You can specify both channels, message and even make the message go across dimensions
*/
public class CommandModemTransmit implements ICommand {
@Override
public void execute(String[] args, Player player, BlockPos pos, CommandTardimBase.CommandSource source) {
if (args.length == 3) { // TODO: 3 or 4???
TardimData data = TardimManager.getFromPos(pos);
if (data != null) {
if (data.hasPermission(player)) {
try {
int sendChannel = Integer.parseInt(args[0]);
int replyChannel = Integer.parseInt(args[1]);
String message = args[2];
boolean allDimensions = Boolean.parseBoolean(args[3]) || args[3].equals("true");
if (data.getTravelLocation() == null) {
data.setTravelLocation(new TardimData.Location(data.getCurrentLocation()));
}
if (allDimensions)
{
ComputerCraftAPI.getWirelessNetwork(player.getServer()).transmitInterdimensional(new Packet(sendChannel, replyChannel, message, new CommandSender(player, data.getTravelLocation().getPos())));
}
else {
ComputerCraftAPI.getWirelessNetwork(player.getServer()).transmitSameDimension(new Packet(sendChannel, replyChannel, message,
new CommandSender(player, data.getTravelLocation().getPos())), 300);
}
CommandTardimBase.sendResponse(player, "Sent modem message", CommandTardimBase.ResponseType.COMPLETE, source);
} catch (Exception var9) {
CommandTardimBase.sendResponse(player, "Invalid coordinates", CommandTardimBase.ResponseType.FAIL, 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 "cc-modem-transmit";
}
@Override
public String getUsage() {
return "/cc-modem-transmit <Chnl> <replyChnl> <msg> <ender: bool>";
}
@Override
public CommandTardimBase.CommandSource allowedSource() {
return CommandTardimBase.CommandSource.BOTH;
}
}

View file

@ -1,39 +0,0 @@
package su.a71.tardim_ic.command;
import dan200.computercraft.api.network.PacketSender;
import net.minecraft.core.BlockPos;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.NotNull;
public class CommandSender implements PacketSender {
private final Player player;
private final Level level;
private final BlockPos pos;
CommandSender(Player player, BlockPos pos) {
this.player = player;
this.level = player.level();
this.pos = pos;
}
@NotNull
@Override
public Level getLevel() {
return this.level;
}
@NotNull
@Override
public Vec3 getPosition() {
return new Vec3(this.pos.getX(), this.pos.getY(), this.pos.getZ());
}
@NotNull
@Override
public String getSenderID() {
return this.player.getName().getString();
}
}

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,7 +0,0 @@
{
"variants": {
"": {
"model": "tardim_ic:block/digital_tardim_interface"
}
}
}

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,7 +0,0 @@
{
"variants": {
"": {
"model": "tardim_ic:block/redstone_tardim_input"
}
}
}

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" }
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

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/digital_tardim_interface",
"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,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/redstone_tardim_input",
"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,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: 1.7 KiB

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,20 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"bonus_rolls": 0,
"entries": [
{
"type": "minecraft:item",
"name": "tardim_ic:digital_tardim_interface",
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}
]
}

View file

@ -1,20 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"bonus_rolls": 0,
"entries": [
{
"type": "minecraft:item",
"name": "tardim_ic:redstone_tardim_input",
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}
]
}

View file

@ -1,30 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"DDD",
"R0R",
"GRG"
],
"key": {
"G": {
"item": "minecraft:gold_ingot",
"count": 1
},
"R": {
"item": "minecraft:redstone",
"count": 1
},
"0": {
"item": "minecraft:ender_eye",
"count": 1
},
"D": {
"item": "minecraft:polished_deepslate",
"count": 1
}
},
"result": {
"item": "tardim_ic:digital_tardim_interface",
"count": 1
}
}

View file

@ -1,26 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"GRG",
"RBR",
"GRG"
],
"key": {
"G": {
"item": "minecraft:gold_ingot",
"count": 1
},
"R": {
"item": "minecraft:redstone",
"count": 1
},
"B": {
"item": "minecraft:redstone_block",
"count": 1
}
},
"result": {
"item": "tardim_ic:redstone_tardim_input",
"count": 1
}
}

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

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